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 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

Consulte también

DXGK_ADL_FLAGS