D3DDDI_ALLOCATIONINFO-Struktur (d3dukmdt.h)

Die D3DDDI_ALLOCATIONINFO-Struktur beschreibt eine Zuordnung für WDDM v1. Benutzermodusgrafikclients sollten stattdessen D3DDDI_ALLOCATIONINFO2 verwenden.

Syntax

typedef struct _D3DDDI_ALLOCATIONINFO {
  D3DKMT_HANDLE                  hAllocation;
  void                           D3DKMT_PTR(
    const VOID *unnamedParam1,
    pSystemMem unnamedParam2
  );
  void                           D3DKMT_PTR(
    VOID               *unnamedParam1,
    pPrivateDriverData unnamedParam2
  );
  UINT                           PrivateDriverDataSize;
  D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  union {
    struct {
      UINT Primary : 1;
      UINT Stereo : 1;
#if ...
      UINT Reserved : 30;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  } Flags;
} D3DDDI_ALLOCATIONINFO;

Member

hAllocation

[out] Ein D3DKMT_HANDLE , das ein Kernelmodushandle für die Zuordnung darstellt. Dieses Handle ist dem Kernelmodus-Ressourcenhandle (wenn nicht NULL) zugeordnet, das die Funktion pfnAllocateCb der Direct3D-Laufzeit im hKMResource-Member der D3DDDICB_ALLOCATE-Struktur zurückgibt. Der Benutzermodusanzeigetreiber kann dieses Kernelmoduszuordnungshandle verwenden, um auf die Zuordnung im Befehlspuffer zu verweisen.

void D3DKMT_PTR( const VOID *unnamedParam1, pSystemMem unnamedParam2)

void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)

PrivateDriverDataSize

[in] Größe der privaten Daten in Byte.

VidPnSourceId

[in] Die nullbasierte VidPN-Identifikationsnummer der Videoquelle, die sich in einem Pfad einer VidPN-Topologie (Video Present Network) befindet, wenn die Zuordnung für die primäre Oberfläche gilt. Der Treiber sollte VidPnSourceId nur für primäre Zuordnungstypen und nicht für andere Zuordnungstypen festlegen. Wenn der Treiber VidPnSourceId für einen anderen Zuordnungstyp in einem Aufruf der pfnAllocateCb-Funktion festlegt, gibt pfnAllocateCb D3DDDI_ID_NOTAPPLICABLE zurück.

Wenn das DirectX-Grafikkernsubsystem die Erstellung der Zuordnung für die freigegebene primäre Oberfläche initiiert, kann der Anzeige-Miniporttreiber die Identifikationsnummer aus dem VidPnSourceId-Member der D3DKMDDI_SHAREDPRIMARYSURFACEDATA Struktur bestimmen, auf die das pPrivateDriverData-Element der DXGK_ALLOCATIONINFO-Struktur zeigt.

Flags

[in] Eine Union, die entweder eine -Struktur oder einen 32-Bit-Wert enthält, der den Typ der Zuordnung identifiziert.

Flags.Primary

[in] Ein UINT, der angibt, ob die Zuordnung Teil des Desktops ist. Eine solche Zuordnung ist implizit für die CPU zugänglich. Eine primäre Zuordnung kann entweder bei der Erstellung angeheftet oder bei der Erstellung nicht angeheftet werden.

Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Elements Wert (0x00000001).

Flags.Stereo

[in] Unterstützt ab Windows 8. Ein UINT, der angibt, ob die Zuordnung eine primäre Stereozuordnung ist. Der Stereo-Member kann nur festgelegt werden, wenn das primäre Element festgelegt ist.

Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Wertmembers (0x00000002).

Flags.Reserved

[in] Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden.

Flags.Value

[in] Ein 32-Bit-Wert, der den Typ der Zuordnung angibt.

Hinweise

Wenn der Anzeigetreiber für den Benutzermodus das Flag Primary bit-field im Flags-Member von D3DDDI_ALLOCATIONINFO festlegt, gelten bestimmte Einschränkungen für die DXGK_ALLOCATIONINFO-Struktur im pAllocationInfo-Member der DXGKARG_CREATEALLOCATION-Struktur für die Zuordnung in einem Aufruf der DxgkDdiCreateAllocation-Funktion des Anzeigeminiporttreibers. Es gelten folgende Einschränkungen:

  • Die Zuordnung erfolgt nach Den wünschen; Andernfalls ist die Zuordnung standardmäßig auf den unterstützten Schreibsegmentsatz festgelegt, und alle angegebenen Segmente im Schreibsegmentsatz müssen cpu-zugänglich sein.

  • Der Anzeige-Miniporttreiber kann die folgenden Bitfeldflags im Flags-Element von DXGK_ALLOCATIONINFO nicht festlegen:

  • PermanentSysMem

  • Zwischengespeichert

  • Protected

  • ExistingSysMem

  • ExistingKernelSysMem

Die D3DDDI_ID_NOTAPPLICABLE Konstante wird in D3dukmdt.h definiert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Kopfzeile d3dukmdt.h (einschließlich D3dumddi.h, D3dkmddi.h)

Weitere Informationen

CreateResource

D3DDDICB_ALLOCATE

D3DDDI_ALLOCATIONINFO2

D3DDDI_SURFACEINFO

D3DKMDDI_SHAREDPRIMARYSURFACEDATA

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DxgkDdiCreateAllocation

pfnAllocateCb