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 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.
Observaciones
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 de reasignación de IOMMU DMA.
Requisitos
Requisito | Valor |
---|---|
servidor mínimo admitido | Windows Server 2022 |
encabezado de | d3dkmddi.h |