Compartir a través de


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

Con una clave, libera el acceso de representación exclusivo a un recurso compartido.

Sintaxis

HRESULT ReleaseSync(
  UINT64 Key
);

Parámetros

Key

Tipo: UINT64

Valor que indica a qué dispositivo se va a conceder acceso. Este método se realiza correctamente cuando el dispositivo que posee actualmente la superficie llama al método ReleaseSync con el mismo valor. Este valor puede ser cualquier valor UINT64.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se ejecuta correctamente.

Si el dispositivo intentó liberar una exclusión mutua con clave que no es válida o propiedad del dispositivo, ReleaseSync devuelve E_FAIL.

Comentarios

El método ReleaseSync libera un bloqueo en una superficie compartida entre varios dispositivos. Este método usa una clave para determinar qué dispositivo actualmente tiene acceso exclusivo a la superficie.

Cuando se crea una superficie con el valor D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX de la enumeración D3D10_RESOURCE_MISC_FLAG , debe llamar al método IDXGIKeyedMutex::AcquireSync antes de representarlo en la superficie. Debe llamar al método ReleaseSync cuando haya terminado de representarse en una superficie.

Después de llamar al método ReleaseSync , el recurso compartido se desconecta de la canalización de representación.

Para adquirir una referencia al objeto de exclusión mutua con clave de un recurso compartido, llame al método QueryInterface del recurso y pase el UUID de la interfaz IDXGIKeyedMutex . Para obtener más información sobre cómo adquirir esta referencia, vea el ejemplo de código siguiente.

Ejemplos

Adquisición de una exclusión mutua con clave

En el ejemplo de código siguiente se muestra cómo adquirir un bloqueo en un recurso compartido y cómo especificar una clave tras su lanzamiento.


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

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado dxgi.h
Library DXGI.lib

Consulte también

DXGI Interfaces

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync