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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour