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
[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) |