estructura DXGK_ADL (d3dkmddi.h)
La estructura DXGK_ADL es una lista de descriptores de direcciones (ADL), que se usa para describir una matriz de páginas que puede ser física o lógica.
Sintaxis
typedef struct _DXGK_ADL {
UINT32 PageCount;
DXGK_ADL_FLAGS Flags;
union {
DXGK_PAGE_NUMBER BasePageNumber;
const DXGK_PAGE_NUMBER *Pages;
};
} DXGK_ADL;
Miembros
PageCount
Número de páginas que representa el ADL.
Flags
Estructura DXGK_ADL_FLAGS que especifica marcas para el ADL.
BasePageNumber
Se usa para las ADL contiguas. Cuando se establece Flags.Contiguous , BasePageNumber es el número de página inicial de un intervalo contiguo de memoria y PageCount es el número de páginas que representa. Por ejemplo, si PageCount=3 y BasePageNumber=100, DXGK_ADL representa las páginas 100, 101 y 102 (intervalo de direcciones 0x100000-0x102000).
Pages
Se usa para las ADL no contiguos. Cuando No se establece Flags.Contiguous , Pages apunta a una matriz de páginas PageCount exactamente. No se garantiza que las páginas de la matriz sean contiguas.
Pages es de tipo DXGK_PAGE_NUMBER, que se garantiza que tiene el mismo tamaño que un PFN_NUMBER. Esta matriz se puede sustituir en lugar de la matriz PFN de MDL al programar el hardware.
Comentarios
Dxgkernel proporciona ADL para admitir los modos de acceso físico y lógico, y poder cambiar entre los dos modos sin problemas en tiempo de ejecución. Un ADL es muy similar a un MDL, pero describe una matriz de páginas que puede ser física o lógica. Dado que estas páginas pueden ser páginas lógicas, las direcciones descritas por un ADL no se pueden asignar a una dirección virtual para el acceso directo a la CPU.
Para obtener más información, consulte la reasignación de IOMMU DMA.
Requisitos
Requisito | Value |
---|---|
Servidor mínimo compatible | Windows Server 2022 |
Encabezado | d3dkmddi.h |