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 |