IDXGIKeyedMutex::ReleaseSync-Methode (dxgi.h)
Mithilfe eines Schlüssels wird exklusiver Renderingzugriff auf eine freigegebene Ressource freigegeben.
Syntax
HRESULT ReleaseSync(
UINT64 Key
);
Parameter
Key
Typ: UINT64
Ein -Wert, der angibt, auf welches Gerät Zugriff erteilt werden soll. Diese Methode ist erfolgreich, wenn das Gerät, das derzeit im Besitz der Surface ist, die ReleaseSync-Methode mit demselben Wert aufruft. Dieser Wert kann ein beliebiger UINT64-Wert sein.
Rückgabewert
Typ: HRESULT
Gibt bei erfolgreicher Ausführung S_OK zurück.
Wenn das Gerät versucht hat, einen mit Schlüssel versehenen Mutex freizugeben, der nicht gültig ist oder sich im Besitz des Geräts befindet, gibt ReleaseSync E_FAIL zurück.
Hinweise
Die ReleaseSync-Methode gibt eine Sperre für eine Oberfläche frei, die von mehreren Geräten gemeinsam genutzt wird. Diese Methode verwendet einen Schlüssel, um zu bestimmen, welches Gerät derzeit exklusiven Zugriff auf das Surface hat.
Wenn eine Oberfläche mit dem D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX-Wert der D3D10_RESOURCE_MISC_FLAG-Enumeration erstellt wird, müssen Sie die IDXGIKeyedMutex::AcquireSync-Methode aufrufen, bevor Sie auf der Oberfläche rendern. Sie müssen die ReleaseSync-Methode aufrufen, wenn Sie mit dem Rendern auf einem Surface fertig sind.
Nachdem Sie die ReleaseSync-Methode aufgerufen haben, wird die freigegebene Ressource aus der Renderingpipeline nicht mehr festgelegt.
Um einen Verweis auf das schlüsselierte Mutex-Objekt einer freigegebenen Ressource abzurufen, rufen Sie die QueryInterface-Methode der Ressource auf, und übergeben Sie die UUID der IDXGIKeyedMutex-Schnittstelle . Weitere Informationen zum Abrufen dieser Referenz finden Sie im folgenden Codebeispiel.
Beispiele
Abrufen eines Schlüsselmutex
Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine Sperre für eine freigegebene Ressource abrufen und einen Schlüssel bei der Freigabe angeben.
// pDesc has already been set up with texture description.
pDesc.MiscFlags = D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX;
// Create a shared texture resource.
pD3D10DeviceD->CreateTexture2D(pDesc, NULL, pD3D10Texture);
// Acquire a reference to the keyed mutex.
pD3D10Texture->QueryInterface(_uuidof(IDXGIKeyedMutex), pDXGIKeyedMutex);
// Acquire a lock to the resource.
pDXGIKeyedMutex->AcquireSync(0, INFINITE);
// Release the lock and specify a key.
pDXGIKeyedMutex->ReleaseSync(1);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | dxgi.h |
Bibliothek | DXGI.lib |