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

Um driver de miniporto de exibição no modo kernel pode chamar DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE para reservar um intervalo de endereços virtuais de GPU (unidade de processamento gráfico) durante a criação de um processo.

Sintaxe

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE DxgkcbReservegpuvirtualaddressrange;

NTSTATUS DxgkcbReservegpuvirtualaddressrange(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] INOUT_PDXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE pArgs
)
{...}

Parâmetros

[in] hAdapter

Um identificador para o adaptador de exibição.

[in/out] pArgs

Uma estrutura DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE que descreve a operação.

Retornar valor

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGEretornará STATUS_SUCCESS se for bem-sucedido. Caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h.

Comentários

A reserva do intervalo de endereços virtuais de GPU só é possível durante a criação do processo (ou seja, dentro da chamada para DxgkDdiCreateProcess) e é inválida em qualquer outro momento.

A reserva é possível em um processo regular, bem como no processo do sistema em que o dispositivo do sistema e o contexto residem.

A primeira entrada na tabela de página raiz (índice de entrada da tabela de páginas 0) sempre será inicializada como inválida pelo gerenciador de memória de vídeo e as reservas de driver serão iniciadas a partir do índice de entrada da tabela de página 1. A reserva de driver sempre deve ser um múltiplo exato de espaço de endereço virtual, coberto pela tabela de página folha, pois a entrada de tabela de página específica não pode ser compartilhada entre o gerenciador de memória de vídeo e o driver do modo kernel. As entradas da tabela de página reservadas pelo driver serão inicializadas como inválidas pelo gerenciador de memória de vídeo e poderão ser substituídas pelo driver para fazer referência a uma tabela de páginas alocada internamente gerenciada pelo driver. O gerenciador de memória de vídeo atualizará as entradas da tabela de página reservada como inválidas sempre que a tabela de página correspondente se tornar residente.

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 (WDDM 2.0)
Servidor mínimo com suporte Windows Server 2016
Plataforma de Destino Área de Trabalho
Cabeçalho d3dkmddi.h (inclua Dispmprt.h)
IRQL <= PASSIVE_LEVEL

Confira também

DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE

DxgkDdiCreateProcess

DXGKRNL_INTERFACE