Compartilhar via


estrutura D3DDDI_RESERVEGPUVIRTUALADDRESS (d3dukmdt.h)

O driver gráfico do modo de usuário passa D3DDDI_RESERVEGPUVIRTUALADDRESS para o do runtime D3D pfnReserveGpuVirtualAddressCb retorno de chamada para reservar um intervalo de endereços no espaço de endereço virtual gpu do processo atual.

Sintaxe

typedef struct D3DDDI_RESERVEGPUVIRTUALADDRESS {
  union {
    D3DKMT_HANDLE hPagingQueue;
    D3DKMT_HANDLE hAdapter;
  };
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T          Size;
  union {
    D3DDDIGPUVIRTUALADDRESS_RESERVATION_TYPE ReservationType;
    UINT                                     Reserved0;
  };
  union {
    D3DKMT_ALIGN64 UINT64 DriverProtection;
    D3DKMT_ALIGN64 UINT64 Reserved1;
  };
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
  union {
    D3DKMT_ALIGN64 UINT64 PagingFenceValue;
    D3DKMT_ALIGN64 UINT64 Reserved2;
  };
} D3DDDI_RESERVEGPUVIRTUALADDRESS;

Membros

hPagingQueue

Este membro está obsoleto. Não use isso.

hAdapter

[in] Identificador do adaptador gráfico DirectX ou zero (0). Se o UMD definir hAdapter definido como 0, o runtime D3D definirá hAdapter para o D3DKMT_HANDLE do kernel antes de chamar a interface do kernel D3DKMTReserveGpuVirtualAddress.

BaseAddress

[in/optional] O número de bytes a serem reservados no espaço de endereço virtual da GPU. baseAddress deve estar alinhado a um limite de 64 KB.

Se BaseAddress não for NULL, o gerenciador de memória de vídeo tentará usar esse endereço como o endereço base para o intervalo reservado. Se o intervalo de BaseAddress a BaseAddress+Size não for gratuito, a chamada falhará. Quando BaseAddress não for NULL, MinimumAddress e MaximumAddress serão ignorados.

Se NULL for especificado, o gerenciador de memória de vídeo escolherá o endereço base para a alocação no MinimumAddress e MaximumAddress.

MinimumAddress

[in/optional] O endereço virtual mínimo de GPU a ser considerado para o intervalo reservado. MinimumAddress está em bytes e deve ser alinhado ao limite de 64 KB. Ele é ignorado quando BaseAddress não é NULL.

MaximumAddress

[in/optional] O endereço virtual máximo de GPU a ser considerado para o intervalo reservado. O gerenciador de memória de vídeo garante que BaseAddress+Size<= MaximumAddress. Se MaximumAddress for definido como NULL, o gerenciador de memória de vídeo não aplicará nenhum limite.

maximumAddress está em bytes e deve ser alinhado ao limite de 64 KB. Ele é ignorado quando BaseAddress não é NULL.

Size

[in] O tamanho do intervalo a ser reservado, em bytes. Deve ser um múltiplo de 64 KB.

ReservationType

Este membro está obsoleto. Não use isso.

Reserved0

Esse membro é reservado e deve ser definido como zero.

DriverProtection

Este membro está obsoleto. Não use isso.

Reserved1

Esse membro é reservado e deve ser definido como zero.

VirtualAddress

[out] O endereço virtual reservado.

PagingFenceValue

Este membro está obsoleto. Não use isso.

Reserved2

Esse membro é reservado e deve ser definido como zero.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
servidor com suporte mínimo Windows Server 2016
cabeçalho d3dukmdt.h (inclua D3dumddi.h, D3dkmddi.h)

Consulte também

pfnReserveGpuVirtualAddressCb