Compartilhar via


estrutura DXGK_ADL (d3dkmddi.h)

A estrutura DXGK_ADL é uma ADL (lista de descritores de endereços), que é usada para descrever uma matriz de páginas que podem ser físicas ou lógicas.

Sintaxe

typedef struct _DXGK_ADL {
  UINT32         PageCount;
  DXGK_ADL_FLAGS Flags;
  union {
    DXGK_PAGE_NUMBER       BasePageNumber;
    const DXGK_PAGE_NUMBER *Pages;
  };
} DXGK_ADL;

Membros

PageCount

O número de páginas que o ADL representa.

Flags

Uma estrutura DXGK_ADL_FLAGS que especifica sinalizadores para o ADL.

BasePageNumber

Usado para ADLs contíguas. Quando Flags.Contiguous é definido, BasePageNumber é o número de página inicial de um intervalo contíguo de memória e PageCount é o número de páginas que ele representa. Por exemplo, se PageCount=3 e BasePageNumber=100, DXGK_ADL representará as páginas 100, 101 e 102 (intervalo de endereços 0x100000-0x102000).

Pages

Usado para ADLs não contíguas. Quando Flags.Contiguous não está definido, Pages aponta para uma matriz exatamente de páginas PageCount . Não há garantia de que as páginas na matriz sejam contíguas.

Pages é do tipo DXGK_PAGE_NUMBER, que tem a garantia de ter o mesmo tamanho que um PFN_NUMBER. Essa matriz pode ser substituída no lugar da matriz PFN de um MDL ao programar o hardware.

Comentários

O Dxgkernel fornece ADLs para dar suporte a modos de acesso físico e lógico e ser capaz de alternar entre os dois modos perfeitamente em runtime. Um ADL é muito semelhante a um MDL, mas descreve uma matriz de páginas que podem ser físicas ou lógicas. Como essas páginas podem ser páginas lógicas, os endereços descritos por um ADL não podem ser mapeados para um endereço virtual para acesso direto à CPU.

Para obter mais informações, consulte Remapeamento de DMA IOMMU.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho d3dkmddi.h

Confira também

DXGK_ADL_FLAGS