Compartilhar via


DXGKCB_ALLOCATEADL função de retorno de chamada (d3dkmddi.h)

DXGKCB_ALLOCATEADL cria uma ADL (lista de descritores de endereço).

Sintaxe

DXGKCB_ALLOCATEADL DxgkcbAllocateadl;

NTSTATUS DxgkcbAllocateadl(
  [in/out] IN_OUT_PDXGKARGCB_ALLOCATE_ADL pArgs
)
{...}

Parâmetros

[in/out] pArgs

Ponteiro para uma estrutura DXGKARGCB_ALLOCATE_ADL que contém informações sobre o ADL a ser criado. Com êxito, retorna uma estrutura DXGK_ADL com uma lista de endereços de página que podem ser usados para programar o hardware.

Retornar valor

Retorna STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, retorna um código de erro NTSTATUS apropriado, como STATUS_INVALID_PARAMETER.

Comentários

As funções DXGKCB_ALLOCATEADL e DXGKCB_FREEADL são usadas para criar e destruir ADLs que descrevem endereços de memória que podem ser programados (mapeados) para a GPU. A memória subjacente pode apontar para memória lógica ou física, dependendo se a IOMMU está sendo usada, portanto, o driver não deve tentar assumir que esses endereços representam páginas físicas.

Quando um ADL é alocado do objeto físico, Dxgkrnl garante que essa memória permaneça bloqueada e não seja paginável durante o tempo de vida do ADL.

Consulte Remapeamento de DMA do IOMMU para obter mais informações.

DXGKCB_XXX funções são implementadas por Dxgkrnl. Para usar essa função de retorno de chamada, defina os membros apropriados do DXGKARGCB_ALLOCATE_ADL e chame DxgkCbAllocateAdl por meio do DXGKRNL_INTERFACE.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022 (WDDM 2.9)
Cabeçalho d3dkmddi.h
IRQL PASSIVE_LEVEL

Confira também

DXGKARGCB_ALLOCATE_ADL

DXGKCB_FREEADL

DXGKRNL_INTERFACE