D3DDDI_ALLOCATIONINFO2 Struktur (d3dukmdt.h)
Die D3DDDI_ALLOCATIONINFO2 Struktur beschreibt eine Zuordnung.
Syntax
typedef struct _D3DDDI_ALLOCATIONINFO2 {
D3DKMT_HANDLE hAllocation;
union {
HANDLE hSection;
const VOID *pSystemMem;
} D3DKMT_ALIGN64;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
union {
struct {
UINT Primary : 1;
UINT Stereo : 1;
UINT OverridePriority : 1;
#if ...
UINT Reserved : 29;
#elif
UINT Reserved : 30;
#else
UINT Reserved : 31;
#endif
};
UINT Value;
} Flags;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS GpuVirtualAddress;
union {
UINT Priority;
D3DKMT_ALIGN64 ULONG_PTR Unused;
};
#if ...
D3DKMT_ALIGN64 ULONG_PTR Reserved[5];
#else
D3DKMT_ALIGN64 ULONG_PTR Reserved[6];
#endif
} D3DDDI_ALLOCATIONINFO2;
Angehörige
hAllocation
[out] Ein D3DKMT_HANDLE Handle, das ein Kernelmodushandle für die Zuordnung darstellt. Dieses Handle ist dem Kernelmodus-Ressourcenhandle (wenn nicht NULL) zugeordnet, den die pfnAllocate Cb-Funktion der Direct3D-Laufzeit im hKMResource-Element der D3DDDICB_ALLOCATE Struktur zurückgibt. Der Anzeigetreiber für den Benutzermodus kann dieses Kernelmodus-Zuordnungshandle verwenden, um auf die Zuordnung im Befehlspuffer zu verweisen.
D3DKMT_ALIGN64
Union mit hSection und pSystemMem.
D3DKMT_ALIGN64.hSection
[in] Ein Handle für ein gültiges Abschnittsobjekt. Verwenden Sie hSection-, wenn D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection- festgelegt ist.
D3DKMT_ALIGN64.pSystemMem
[in] Ein Zeiger auf den vorab zugewiesenen Systemspeicher. Verwenden Sie pSystemMem-, wenn D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection- nicht festgelegt ist.
pPrivateDriverData
[in/out,opt] Ein Zeiger auf puffern, der optionale private Daten enthält, die möglicherweise vom Anzeigeminiporttreiber zum Erstellen der Zuordnung erforderlich sind. Der Anzeigeminiporttreiber kann auch Daten im Puffer zurückgeben. Wenn der Inhalt des Puffers an den Anzeigeminiporttreiber übergeben wird, muss der Inhalt in einem Format vorliegen, das der Miniporttreiber für die Anzeige verarbeiten kann.
PrivateDriverDataSize
[in] Größe in Byte der privaten Daten.
VidPnSourceId
[in] Die nullbasierte VidPN-Identifikationsnummer der Videoquelle in einem Pfad einer VidPN-Topologie (Video Present Network, VidPN), 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-Grafik-Kernelsubsystem die Erstellung der Zuordnung für die freigegebene primäre Oberfläche initiiert, kann der Display-Miniporttreiber die Identifikationsnummer aus dem VidPnSourceId Member der D3DKMDDI_SHAREDPRIMARYSURFACEDATA Struktur bestimmen, auf die das pPrivateDriverData Member der DXGK_ALLOCATIONINFO Struktur verweist.
Flags
[in] Eine Vereinigung, 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 nicht bei der Erstellung angeheftet werden.
Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Value Members (0x00000001).
Flags.Stereo
[in] Unterstützt ab Windows 8 (WDDM 1.2). Ein UINT, der angibt, ob es sich bei der Zuordnung um eine primäre Stereozuordnung handelt. Das Stereo--Element kann nur festgelegt werden, wenn das element Primary festgelegt ist.
Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Value Members (0x00000002).
Flags.OverridePriority
[in] Unterstützt ab Windows 10, Version 1703 (WDDM 2.2). Überschreiben Sie die Priorität, wie vom Grafiktreiber für den Benutzermodus festgelegt.
Flags.Reserved
[in] Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Flags.Value
[in] Ein 32-Bit-Wert, der den Typ der Zuordnung angibt.
GpuVirtualAddress
[out] Die virtuelle GPU-Adresse der erstellten Zuordnung.
Priority
[in] Die Priorität der Zuteilung.
Unused
Unbenutzt.
Reserved[5]
Reserved[6]
Bemerkungen
Wenn der Anzeigetreiber für den Benutzermodus das primäre Bitfeld-Flag im Flags Element 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. Diese Einschränkungen umfassen Folgendes:
Die Zuweisung erfolgt nach den Präferenzen; andernfalls muss für die Zuordnung standardmäßig der unterstützte Schreibsegmentsatz verwendet werden, und alle angegebenen Segmente im Schreibsegmentsatz müssen cpu-zugänglich sein.
Der Miniporttreiber für die Anzeige kann die folgenden Bitfeldflags nicht im Flags Mitglied von DXGK_ALLOCATIONINFOfestlegen:
PermanentSysMem
Gecached
Geschützt
ExistingSysMem
ExistingKernelSysMem
Die D3DDDI_ID_NOTAPPLICABLE Konstante wird in D3dukmdt.hdefiniert.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 7 |
Header- | d3dukmdt.h |