Compartilhar via


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

Usando uma chave, libera o acesso de renderização exclusivo a um recurso compartilhado.

Sintaxe

HRESULT ReleaseSync(
  UINT64 Key
);

Parâmetros

Key

Tipo: UINT64

Um valor que indica a qual dispositivo conceder acesso. Esse método é bem-sucedido quando o dispositivo que atualmente possui a superfície chama o método ReleaseSync usando o mesmo valor. Esse valor pode ser qualquer valor UINT64.

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito.

Se o dispositivo tentou liberar um mutex com chave que não é válido ou de propriedade do dispositivo, ReleaseSync retornará E_FAIL.

Comentários

O método ReleaseSync libera um bloqueio para uma superfície que é compartilhada entre vários dispositivos. Esse método usa uma chave para determinar qual dispositivo atualmente tem acesso exclusivo à superfície.

Quando uma superfície é criada usando o valor D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX da enumeração D3D10_RESOURCE_MISC_FLAG , você deve chamar o método IDXGIKeyedMutex::AcquireSync antes de renderizar para a superfície. Você deve chamar o método ReleaseSync quando terminar de renderizar para uma superfície.

Depois de chamar o método ReleaseSync , o recurso compartilhado será desconjunto do pipeline de renderização.

Para adquirir uma referência ao objeto mutex com chave de um recurso compartilhado, chame o método QueryInterface do recurso e passe a UUID da interface IDXGIKeyedMutex . Para obter mais informações sobre como adquirir essa referência, consulte o exemplo de código a seguir.

Exemplos

Adquirir um Mutex com chave

O exemplo de código a seguir demonstra como adquirir um bloqueio para um recurso compartilhado e como especificar uma chave após a versão.


// 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 Valor
Plataforma de Destino Windows
Cabeçalho dxgi.h
Biblioteca DXGI.lib

Confira também

DXGI Interfaces

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync