Compartilhar via


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.

Valor de retorno

DXGKCB_RESERVEGPUVIRTUALADDRESSRANGE retornará STATUS_SUCCESS se tiver êxito. Caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h.

Observações

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 começarão 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 de 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ágina alocada internamente gerenciada pelo driver. O gerenciador de memória de vídeo atualizará as entradas de 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 chame DxgkCbReserveGpuVirtualAddressRange por meio do DXGKRNL_INTERFACE.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10 (WDDM 2.0)
servidor com suporte mínimo Windows Server 2016
da Plataforma de Destino Área de trabalho
cabeçalho d3dkmddi.h (inclua Dispmprt.h)
IRQL <= PASSIVE_LEVEL

Consulte também

DXGKARGCB_RESERVEGPUVIRTUALADDRESSRANGE

DxgkDdiCreateProcess

DXGKRNL_INTERFACE