Condividi tramite


struttura D3DDDI_RESERVEGPUVIRTUALADDRESS (d3dukmdt.h)

Il driver grafico in modalità utente passa D3DDDI_RESERVEGPUVIRTUALADDRESS al runtime D3D pfnReserveGpuVirtualAddressCb callback per riservare un intervallo di indirizzi nello spazio di indirizzi virtuale GPU del processo corrente.

Sintassi

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;

Membri

hPagingQueue

Questo membro è obsoleto. Non usarlo.

hAdapter

[in] Handle della scheda grafica DirectX o zero (0). Se UMD imposta hAdapter impostato su 0, il runtime D3D imposta hAdapter sul D3DKMT_HANDLE del kernel prima di chiamare l'interfaccia del kernel D3DKMTReserveGpuVirtualAddress.

BaseAddress

[in/facoltativo] Numero di byte da riservare nello spazio indirizzi virtuale GPU. BaseAddress deve essere allineato a un limite di 64 KB.

Se BaseAddress è diverso da NULL, la gestione della memoria video tenta di usare questo indirizzo come indirizzo di base per l'intervallo riservato. Se l'intervallo da baseAddress a BaseAddress+ Size non è gratuito, la chiamata non riesce. Quando baseAddress è diverso da NULL, vengono ignorati MinimumAddress e MaximumAddress.

Se si specifica NULL, la gestione della memoria video seleziona l'indirizzo di base per l'allocazione all'interno dell' MinimumAddress specificato e MaximumAddress.

MinimumAddress

[in/facoltativo] Indirizzo virtuale GPU minimo da considerare per l'intervallo riservato. la MinimumAddress è in byte e deve essere allineata al limite di 64 KB. Viene ignorato quando baseAddress è diverso da NULL.

MaximumAddress

[in/facoltativo] Indirizzo virtuale GPU massimo da considerare per l'intervallo riservato. La gestione della memoria video garantisce che BaseAddress+Size<= MaximumAddress. Se maximumAddress è impostato su NULL, la gestione della memoria video non applicherà alcun limite.

MaximumAddress è in byte e deve essere allineato al limite di 64 KB. Viene ignorato quando baseAddress è diverso da NULL.

Size

[in] Dimensione dell'intervallo da riservare, in byte. Deve essere un multiplo di 64 KB.

ReservationType

Questo membro è obsoleto. Non usarlo.

Reserved0

Questo membro è riservato e deve essere impostato su zero.

DriverProtection

Questo membro è obsoleto. Non usarlo.

Reserved1

Questo membro è riservato e deve essere impostato su zero.

VirtualAddress

[out] Indirizzo virtuale riservato.

PagingFenceValue

Questo membro è obsoleto. Non usarlo.

Reserved2

Questo membro è riservato e deve essere impostato su zero.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10
server minimo supportato Windows Server 2016
intestazione d3dukmdt.h (include D3dumddi.h, D3dkmddi.h)

Vedere anche

pfnReserveGpuVirtualAddressCb