Compartilhar via


estrutura DXGK_ADL (d3dkmddi.h)

A estrutura DXGK_ADL é uma ADL (lista de descritores de endereço), que é usada para descrever uma matriz de páginas que pode ser física ou lógica.

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íguos. 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 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 de um PFN_NUMBER. Essa matriz pode ser substituída no lugar da matriz PFN de um MDL ao programar o hardware.

Observações

Dxgkernel fornece ADLs para dar suporte aos 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 IOMMU DMA remapeando.

Requisitos

Requisito Valor
servidor com suporte mínimo Windows Server 2022
cabeçalho d3dkmddi.h

Consulte também

DXGK_ADL_FLAGS