D3DKMT_CREATEALLOCATION Struktur (d3dkmthk.h)
Die D3DKMT_CREATEALLOCATION-Struktur beschreibt Parameter für Erstellen von Zuordnungen.
Syntax
typedef struct _D3DKMT_CREATEALLOCATION {
[in] D3DKMT_HANDLE hDevice;
[in/out] D3DKMT_HANDLE hResource;
[out] D3DKMT_HANDLE hGlobalShare;
[in] const VOID *pPrivateRuntimeData;
[in] UINT PrivateRuntimeDataSize;
union {
[in] D3DKMT_CREATESTANDARDALLOCATION *pStandardAllocation;
[in] const VOID *pPrivateDriverData;
};
[in/out] UINT PrivateDriverDataSize;
[in] UINT NumAllocations;
union {
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
[in] D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
};
[in] D3DKMT_CREATEALLOCATIONFLAGS Flags;
[in] HANDLE hPrivateRuntimeResourceHandle;
} D3DKMT_CREATEALLOCATION;
Angehörige
[in] hDevice
Ein Handle für das Gerät, dem die Ressource oder Zuordnung zugeordnet ist.
[in/out] hResource
Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für die Ressource darstellt, die den Zuordnungen zugeordnet ist. Der Wert in hResource- sollte immer null sein, es sei denn, eine Zuordnung wird einer vorhandenen Ressource hinzugefügt, in diesem Fall enthält hResource das Ressourcenhandle.
Wenn die CreateResource- Bitfeldkennzeichnung im Flags Member festgelegt wird, generiert die OpenGL-Laufzeit ein eindeutiges Handle und übergibt es an den Treiber zurück. Bei der Ausgabe der D3DKMTCreateAllocation--Funktion gibt hResource- den Handle an, den der Treiber in nachfolgenden OpenGL-Laufzeitaufrufen verwenden soll, um die Ressource zu identifizieren. Das zurückgegebene Ressourcenhandle ist gerätespezifisch und nur gültig, wenn es mit dem Gerät verwendet wird, auf dem es erstellt wurde.
[out] hGlobalShare
Ein Benutzermodus-Clienttreiber sollte keine Ressourcen mit globalen Handles gemeinsam nutzen. Der Treiber sollte NtSecuritySharing- in Flags festlegen und D3DKMTShareObjects- aufrufen, um ein NT-Handle abzurufen. Die Verwendung globaler Handles ist nicht sicher. Jeder Prozess kann ein globales Handle erraten und ein freigegebenes Objekt öffnen. Globale Handles werden nur aus Kompatibilitätsgründen mit alten D3D-Laufzeiten unterstützt. (Wenn NtSecuritySharing- nicht festgelegt ist, wird das globale Handle in hGlobalShare-zurückgegeben. Nichts verhindert, dass eine UMD eine Ressource über ein globales Handle freigibt, aber Treiber sollten dies nicht tun.)
[in] pPrivateRuntimeData
Ein Zeiger auf optionale private Daten, die zu Debuggingzwecken an eine Ressource angefügt werden können. Diese Daten sind pro Ressource und nicht pro Zuordnung.
[in] PrivateRuntimeDataSize
Die Größe der privaten Daten in Bytes, auf die pPrivateRuntimeData verweist.
[in] pStandardAllocation
Zeiger auf eine D3DKMT_CREATESTANDARDALLOCATION Struktur, die die zu erstellende Standardzuordnung beschreibt.
[in] pPrivateDriverData
Ein Zeiger auf einen Puffer, der optionale private Daten enthält, die der Anzeigeminiporttreiber möglicherweise zum Erstellen der Ressource oder Zuordnung benötigt. Der Inhalt des Puffers stammt in der Regel aus dem ICD und muss in einem Format vorliegen, das der Miniporttreiber verarbeiten kann.
[in/out] PrivateDriverDataSize
Die Größe der privaten Daten in Bytes, auf die pPrivateDriverData verweist.
[in] NumAllocations
Die Anzahl der Elemente im Array, die pAllocationInfo angibt, die die Anzahl der zu erstellenden Zuordnungen darstellt. Beachten Sie, dass das Erstellen einer Ressource ohne zuvor zugeordnete Zuordnungen gültig ist; daher können NumAllocations- auf 0 festgelegt werden.
[in] pAllocationInfo
Ein Array von D3DDDI_ALLOCATIONINFO Strukturen, die bestimmte Eigenschaften für jede zu erstellende Zuordnung beschreiben.
[in] pAllocationInfo2
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
Dieses Mitglied ist ab Windows 7 verfügbar.
[in] Flags
Eine D3DKMT_CREATEALLOCATIONFLAGS Struktur, die Attribute zum Erstellen der Zuordnung in Bitfeldkennzeichnungen identifiziert.
Wenn Sie das CreateShared- Bitfeld-Flag in Flagsfestlegen, müssen Sie auch das CreateResource- Bitfeld-Flag festlegen.
[in] hPrivateRuntimeResourceHandle
Ein undurchsichtiges Handle, das Sie in der Ereignisablaufverfolgung verwenden können. Dieses Handle kann verwendet werden, um Kernelmoduszuordnungen mit Benutzermodus-Oberflächenzeigern zuzuordnen, wenn Sie Ereignisablaufverfolgung für Windows -Ereignisprotokolle (ETW) analysieren.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Header- | d3dkmthk.h (einschließlich D3dkmthk.h) |