Freigeben über


D3DDDI_RESERVEGPUVIRTUALADDRESS Struktur (d3dukmdt.h)

Der Grafiktreiber für den Benutzermodus übergibt D3DDDI_RESERVEGPUVIRTUALADDRESS an die pfnReserveGpuVirtualAddressCb Rückruf, um einen Adressbereich im virtuellen GPU-Adressraum des aktuellen Prozesses zu reservieren.

Syntax

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;

Angehörige

hPagingQueue

Dieses Element ist veraltet. Verwenden Sie sie nicht.

hAdapter

[in] DirectX-Grafikadapterziehpunkt oder Null (0). Wenn UMD hAdapter- auf 0 festgelegt wird, legt die D3D-Laufzeit hAdapter- auf die D3DKMT_HANDLE des Kernels fest, bevor die D3DKMTReserveGpuVirtualAddress Kernelschnittstelle aufgerufen wird.

BaseAddress

[in/optional] Die Anzahl der Bytes, die im virtuellen GPU-Adressraum reserviert werden sollen. BaseAddress- muss an einer Grenze von 64 KB ausgerichtet werden.

Wenn BaseAddress- nicht NULL ist, versucht der Videospeicher-Manager, diese Adresse als Basisadresse für den reservierten Bereich zu verwenden. Wenn der Bereich zwischen BaseAddress und BaseAddress+Size nicht kostenlos ist, schlägt der Aufruf fehl. Wenn BaseAddress- ungleich NULL ist, werden MinimumAddress- und MaximumAddress- ignoriert.

Wenn NULL angegeben wird, wählt der Videospeicher-Manager die Basisadresse für die Zuordnung innerhalb der angegebenen MinimumAddress- und MaximumAddress-aus.

MinimumAddress

[in/optional] Die virtuelle Mindestadresse der GPU, die für den reservierten Bereich berücksichtigt werden soll. MinimumAddress- in Byte liegt und an der Grenze von 64 KB ausgerichtet werden muss. Es wird ignoriert, wenn BaseAddress- ungleich NULL ist.

MaximumAddress

[in/optional] Die maximale virtuelle GPU-Adresse, die für den reservierten Bereich berücksichtigt werden soll. Der Videospeicher-Manager garantiert, dass BaseAddress+Size<= MaximumAddress. Wenn MaximumAddress auf NULL festgelegt ist, wendet der Videospeicher-Manager keine Beschränkung an.

MaximumAddress- in Byte liegt und an der Grenze von 64 KB ausgerichtet werden muss. Es wird ignoriert, wenn BaseAddress- ungleich NULL ist.

Size

[in] Die Größe des zu reservierenden Bereichs in Byte. Muss ein Vielfaches von 64 KB sein.

ReservationType

Dieses Element ist veraltet. Verwenden Sie sie nicht.

Reserved0

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

DriverProtection

Dieses Element ist veraltet. Verwenden Sie sie nicht.

Reserved1

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

VirtualAddress

[out] Die reservierte virtuelle Adresse.

PagingFenceValue

Dieses Element ist veraltet. Verwenden Sie sie nicht.

Reserved2

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Header- d3dukmdt.h (einschließlich D3dumddi.h, D3dkmddi.h)

Siehe auch

pfnReserveGpuVirtualAddressCb