estrutura DXGKARGCB_ALLOCATE_ADL (d3dkmddi.h)
DXGKARGCB_ALLOCATE_ADL contém as informações usadas pela função de retorno de chamada DXGKCB_ALLOCATEADL para criar uma ADL (lista de descritores de endereço).
Sintaxe
typedef struct _DXGKARGCB_ALLOCATE_ADL {
[in] HANDLE hAdapterMemoryObject;
[in] SIZE_T Offset;
[in] SIZE_T Size;
union {
struct {
UINT32 RequireContiguous : 1;
UINT32 PreferContiguous : 1;
UINT32 Reserved : 30;
};
UINT32 Value;
} Flags;
[out] DXGK_ADL *pAdl;
} DXGKARGCB_ALLOCATE_ADL;
Membros
[in] hAdapterMemoryObject
O objeto de memória do adaptador que descreve a memória lógica subjacente usada para criar o ADL. Esse objeto foi criado por meio de DXGKCB_CREATEPHYSICALMEMORYOBJECT ou posterior aberto por meio de DXGKCB_OPENPHYSICALMEMORYOBJECT.
[in] Offset
O deslocamento, em bytes, desde o início do objeto de memória física. Esse valor deve ser um múltiplo de PAGE_SIZE.
[in] Size
O número total de bytes a serem alocados para o ADL. Esse valor deve ser um múltiplo de PAGE_SIZE, de modo que o número de páginas no ADL seja Tamanho/PAGE_SIZE.
Flags
[in] Flags.RequireContiguous
Indica que o driver está solicitando um ADL que descreve um intervalo contíguo de memória, em vez de páginas dispersas. Esse sinalizador só será válido se o objeto de memória física representado por hAdapterMemoryObject foi alocado como DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY ou DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.
[in] Flags.PreferContiguous
Fornece ao driver uma maneira de solicitar de forma ideal um ADL contíguo quando possível. Quando o remapeamento de DMA estiver habilitado, os ADLs se referirão a intervalos de espaço de endereço lógico; no entanto, os drivers podem não ser capazes de usar ADLs contíguos em todos os caminhos de código. ADLs não contíguos para memória lógica podem se tornar dispendiosas, pois exigem a alocação de uma matriz PFN separada, semelhante a um MDL, para representar a memória. Quando possível, o driver deve especificar esse sinalizador para indicar que um ADL pode ser representado apenas com o endereço base.
[in] Flags.Reserved
Reservado; deve ser definido como zero.
[in] Flags.Value
Uma maneira alternativa de acessar os bits.
[out] pAdl
Em uma chamada bem-sucedida para DXGKCB_ALLOCATEADL, aponta para a estrutura DXGK_ADL com uma lista de endereços de página que podem ser usados para programar o hardware.
Observações
Consulte de remapeamento de DMA do IOMMU para obter mais informações.
Requisitos
Requisito | Valor |
---|---|
servidor com suporte mínimo | Windows Server 2022 (WDDM 2.9) |
cabeçalho | d3dkmddi.h |