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 |