Função D3DKMTMapGpuVirtualAddress (d3dkmthk.h)

D3DKMTMapGpuVirtualAddress mapeia um intervalo de endereços virtuais de GPU para um intervalo de alocação específico ou o coloca no estado Inválido ou Zero .

Sintaxe

NTSTATUS D3DKMTMapGpuVirtualAddress(
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam1
);

Parâmetros

unnamedParam1

[entrada/saída] pData é um ponteiro para uma estrutura D3DDDI_MAPGPUVIRTUALADDRESS que descreve a operação.

Retornar valor

Código de retorno Descrição
STATUS_SUCCESS O contexto do dispositivo foi criado com êxito.
STATUS_INVALID_PARAMETER Os parâmetros foram validados e determinados como incorretos.

Essa função também pode retornar outros valores NTSTATUS .

Comentários

O driver pode especificar um VA (endereço virtual) de GPU base para mapear ou permitir que o gerenciador de memória de vídeo escolha automaticamente um. Ao especificar um valor BaseAddress não NULL, todo o intervalo de BaseAddress a BaseAddress+Size deve estar em um estado liberado ou pertencer a um intervalo de VA obtido chamando D3DKMTMapGpuVirtualAddress ou DxgkCbReserveGpuVirtualAddressRange. Quando Protection.Zero ou Protection.NoAccess é especificado, o intervalo de VA não pode pertencer a um intervalo obtido chamando MapGpuVirtualAddressCb.

O driver pode especificar se o mapeamento deve permitir privilégios de gravação e execução, além de privilégios de leitura, que sempre existem por padrão.

Na configuração do LDA (adaptador de exibição) vinculado, a fila de paginação define uma GPU física cujas tabelas de página são modificadas e o identificador de alocação (se não NULL) define para onde as entradas da tabela de página estão apontando. A alocação pode ser residente em qualquer segmento de memória de GPU física.

O intervalo de VA de GPU, que é alocado pela API, é liberado quando a alocação (a VA de GPU é mapeada para) é destruída. O intervalo de VA também pode ser liberado chamando D3DKMTFreeGpuVirtualAddress, mas isso precisa ser sincronizado com a destruição de alocação, se necessário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Servidor mínimo com suporte Windows Server 2016
Plataforma de Destino Universal
Cabeçalho d3dkmthk.h (inclua D3dkmthk.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

DxgkCbReserveGpuVirtualAddressRange