D3DKMTShareObjects-Funktion (d3dkmthk.h)
D3DKMTShareObjects gibt Ressourcenobjekte frei, die mit den Funktionen D3KMDTCreateAllocation, D3KMDTCreateAllocation2D3DKMTCreateKeyedMutex2 und D3DKMTCreateSynchronizationObject2 erstellt wurden.
Syntax
NTSTATUS D3DKMTShareObjects(
[in] UINT cObjects,
[in] const D3DKMT_HANDLE *hObjects,
[in] POBJECT_ATTRIBUTES pObjectAttributes,
[in] DWORD dwDesiredAccess,
[out] HANDLE *phSharedNtHandle
);
Parameter
[in] cObjects
Die Anzahl der Ressourcenobjekte, die im hObjects-Parameter bereitgestellt werden. Dieser Wert muss kleiner oder gleich D3DKMT_MAX_OBJECTS_PER_HANDLE sein.
[in] hObjects
Ein Zeiger auf ein Array von lokalen Kernelmodushandles, die die ressourcenbezogenen Objekte angeben, die freigegeben werden sollen. Weitere Informationen finden Sie unter Hinweise.
[in] pObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die Attribute der Ressourcenobjekte angibt.
[in] dwDesiredAccess
Gibt den Lese- und Schreibzugriff für die Ressource an.
Für GPU-Synchronisierungsobjekte kann dwDesiredAccess eine Kombination der folgenden Bitfelder sein (definiert in d3dukmdt.h).
Wert | Bedeutung |
---|---|
STANDARD_RIGHTS_READ | Der Prozess, der das Synchronisierungsobjekt öffnet, kann den Zustand des Synchronisierungsobjekts lesen. Dieses Flag muss angegeben werden, sonst kann nicht auf das Objekt zugegriffen werden. |
D3DDDI_SYNC_OBJECT_WAIT | Der Prozess, der das Synchronisierungsobjekt öffnet, kann Wartevorgänge für das Synchronisierungsobjekt ausführen. |
D3DDDI_SYNC_OBJECT_SIGNAL | Der Prozess, der das Synchronisierungsobjekt öffnet, kann Signalvorgänge für das Synchronisierungsobjekt ausgeben. |
D3DDDI_SYNC_OBJECT_ALL_ACCESS | Der Prozess, der das Synchronisierungsobjekt öffnet, kann jeden Vorgang für das Synchronisierungsobjekt ausführen. |
Für freigegebene Ressourcen kann der gewünschte Zugriff als Kombination der folgenden Flags (definiert in d3dkmthk.h) angegeben werden:
Wert | Bedeutung |
---|---|
STANDARD_RIGHTS_READ | Der Prozess, der die Ressource öffnet, kann Lesezugriff haben. Dieses Flag muss angegeben werden, sonst kann nicht auf das Objekt zugegriffen werden. |
SHARED_ALLOCATION_WRITE | Der Prozess, der die Ressource öffnet, kann Schreibzugriff haben. Wenn dieses Zugriffsflag nicht angegeben wird, wird die Ressource als schreibgeschützt geöffnet. |
SHARED_ALLOCATION_ALL_ACCESS | Der Prozess, der die Ressource öffnet, kann den gesamten Zugriff auf das Objekt haben. |
[out] phSharedNtHandle
Ein Zeiger auf ein freigegebenes NT-Handle, das die Ressourcenobjekte angibt.
Dieser Parameter ist NULL , wenn der NtSecuritySharing-Flagwert nicht festgelegt ist. Weitere Informationen finden Sie unter Hinweise.
Rückgabewert
Die Methode gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen entsprechenden NTSTATUS-Fehlercode zurück.
Hinweise
Objekte, die mithilfe von D3DKMTShareObjects freigegeben werden sollen, müssen zuerst mit dem NtSecuritySharing-Flagwert erstellt werden. Dieser Flagwert ist in den Strukturen D3DKMT_CREATEALLOCATIONFLAGS, D3DKMT_CREATEKEYEDMUTEX2_FLAGS und D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS verfügbar.
Diese Funktion darf Handles über den hObjects-Parameter nur für die folgenden Kombinationen von Eingabeobjektarraytypen angeben:
- eine Zuordnung
- eine Zuordnung, ein Schlüsselmutex und ein Synchronisierungsobjekt
- ein Synchronisierungsobjekt
Das Betriebssystem lehnt alle anderen Eingabehandle-Kombinationen ab.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Universell |
Header | d3dkmthk.h (einschließlich D3dkmthk.h) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |
Weitere Informationen
D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für