Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
D3DKMTShareObjects teilt Ressourcenobjekte, die mit dem D3KMTCreateAllocation, D3KMTCreateAllocation2D3DKMTCreateKeyedMutex2erstellt wurden, und D3DKMTCreateSynchronizationObject2 Funktionen.
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_HANDLEsein.
[in] hObjects
Ein Zeiger auf ein Array lokaler Kernelmodushandles, mit denen die ressourcenbezogenen Objekte angegeben werden. Weitere Informationen finden Sie unter Anmerkungen.
[in] pObjectAttributes
Ein Zeiger auf eine OBJECT_ATTRIBUTES Struktur, die Attribute der Ressourcenobjekte angibt.
[in] dwDesiredAccess
Gibt Lese- und Schreibzugriff für die Ressource an.
Bei GPU-Synchronisierungsobjekten 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 Status des Synchronisierungsobjekts lesen. Diese Kennzeichnung muss angegeben werden, oder auf das Objekt kann nicht zugegriffen werden. |
| D3DDDI_SYNC_OBJECT_WAIT | Der Prozess, der das Synchronisierungsobjekt öffnet, kann Wartezeitvorgänge für das Synchronisierungsobjekt ausgeben. |
| 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 einen beliebigen Vorgang für das Synchronisierungsobjekt ausgeben. |
Für gemeinsam genutzte Ressourcen kann der gewünschte Zugriff als Kombination der folgenden Flags angegeben werden (definiert in d3dkmthk.h):
| Wert | Bedeutung |
|---|---|
| STANDARD_RIGHTS_READ | Der Prozess, der die Ressource öffnet, kann Lesezugriff haben. Diese Kennzeichnung muss angegeben werden, oder auf das Objekt kann nicht zugegriffen werden. |
| SHARED_ALLOCATION_WRITE | Der Prozess, der die Ressource öffnet, kann Schreibzugriff haben. Wenn diese Zugriffskennzeichnung nicht angegeben ist, wird die Ressource schreibgeschützt geöffnet. |
| SHARED_ALLOCATION_ALL_ACCESS | Der Prozess, der die Ressource öffnet, kann über alle Zugriffe auf das Objekt verfügen. |
[out] phSharedNtHandle
Ein Zeiger auf ein freigegebenes NT-Handle, das die Ressourcenobjekte angibt.
Dieser Parameter wird NULL-, wenn der NtSecuritySharing Flagwert nicht festgelegt ist. Weitere Informationen finden Sie unter Anmerkungen.
Rückgabewert
Die Methode gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen geeigneten NTSTATUS Fehlercode zurück.
Bemerkungen
Objekte, die mit D3DKMTShareObjects- freigegeben werden sollen, müssen zuerst mit dem NtSecuritySharing- Flagwertsatz erstellt werden. Dieser Kennzeichenwert ist in den Strukturen D3DKMT_CREATEALLOCATIONFLAGS, D3DKMT_CREATEKEYEDMUTEX2_FLAGSund D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS verfügbar.
Diese Funktion muss Handles über das hObjects Parameter nur für die folgenden Kombinationen von Eingabeobjektarraytypen angeben:
- eine Zuordnung
- Zuweisung, Schlüsselmutex und Synchronisierungsobjekt
- ein Synchronisierungsobjekt
Das Betriebssystem lehnt alle anderen Eingabeziehpunktkombinationen ab.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Windows 8 |
| mindestens unterstützte Server- | Windows Server 2012 |
| Zielplattform- | Universal |
| Header- | d3dkmthk.h (einschließlich D3dkmthk.h) |
| Library | Gdi32.lib |
| DLL- | Gdi32.dll |
Siehe auch
D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS