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 |