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 tiver sido 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, as 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íguas para memória lógica podem se tornar dispendiosas, pois exigem 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
Reservados; 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.
Comentários
Consulte Remapeamento de DMA do IOMMU para obter mais informações.
Requisitos
Requisito | Valor |
---|---|
Servidor mínimo com suporte | Windows Server 2022 (WDDM 2.9) |
Cabeçalho | d3dkmddi.h |