Méthode IDXGIKeyedMutex ::ReleaseSync (dxgi.h)

À l’aide d’une clé, libère un accès de rendu exclusif à une ressource partagée.

Syntaxe

HRESULT ReleaseSync(
  UINT64 Key
);

Paramètres

Key

Type : UINT64

Valeur qui indique l’appareil auquel accorder l’accès. Cette méthode réussit lorsque l’appareil qui possède actuellement la surface appelle la méthode ReleaseSync à l’aide de la même valeur. Cette valeur peut être n’importe quelle valeur UINT64.

Valeur retournée

Type : HRESULT

Retourne S_OK en cas de réussite.

Si l’appareil a tenté de libérer un mutex à clé non valide ou détenu par l’appareil, ReleaseSync retourne E_FAIL.

Remarques

La méthode ReleaseSync libère un verrou sur une surface partagée entre plusieurs appareils. Cette méthode utilise une clé pour déterminer quel appareil dispose actuellement d’un accès exclusif à la surface.

Lorsqu’une surface est créée à l’aide de la valeur D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX de l’énumération D3D10_RESOURCE_MISC_FLAG , vous devez appeler la méthode IDXGIKeyedMutex ::AcquireSync avant d’effectuer le rendu à la surface. Vous devez appeler la méthode ReleaseSync lorsque vous avez terminé le rendu sur une surface.

Après avoir appelé la méthode ReleaseSync , la ressource partagée n’est pas définie à partir du pipeline de rendu.

Pour acquérir une référence à l’objet mutex à clé d’une ressource partagée, appelez la méthode QueryInterface de la ressource et transmettez l’UUID de l’interface IDXGIKeyedMutex . Pour plus d’informations sur l’acquisition de cette référence, consultez l’exemple de code suivant.

Exemples

Acquisition d’un mutex à clé

L’exemple de code suivant montre comment acquérir un verrou pour une ressource partagée et comment spécifier une clé lors de la mise en production.


// 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);

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête dxgi.h
Bibliothèque DXGI.lib

Voir aussi

DXGI Interfaces

IDXGIKeyedMutex

IDXGIKeyedMutex ::AcquireSync