Compartir a través de


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

Consulte también

DXGK_ADL_FLAGS