Condividi tramite


Metodo IDXGIKeyedMutex::ReleaseSync (dxgi.h)

Usando una chiave, rilascia l'accesso esclusivo per il rendering a una risorsa condivisa.

Sintassi

HRESULT ReleaseSync(
  UINT64 Key
);

Parametri

Key

Tipo: UINT64

Valore che indica il dispositivo a cui concedere l'accesso. Questo metodo ha esito positivo quando il dispositivo proprietario della superficie chiama il metodo ReleaseSync usando lo stesso valore. Questo valore può essere qualsiasi valore UINT64.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo.

Se il dispositivo ha tentato di rilasciare un mutex con chiave non valido o di proprietà del dispositivo, ReleaseSync restituisce E_FAIL.

Commenti

Il metodo ReleaseSync rilascia un blocco a una superficie condivisa tra più dispositivi. Questo metodo usa una chiave per determinare quale dispositivo ha attualmente accesso esclusivo alla superficie.

Quando viene creata una superficie usando il valore D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX dell'enumerazione D3D10_RESOURCE_MISC_FLAG , è necessario chiamare il metodo IDXGIKeyedMutex::AcquireSync prima del rendering sulla superficie. È necessario chiamare il metodo ReleaseSync al termine del rendering in una superficie.

Dopo aver chiamato il metodo ReleaseSync , la risorsa condivisa viene annullata dalla pipeline di rendering.

Per acquisire un riferimento all'oggetto mutex con chiave di una risorsa condivisa, chiamare il metodo QueryInterface della risorsa e passare l'UUID dell'interfaccia IDXGIKeyedMutex . Per altre informazioni sull'acquisizione di questo riferimento, vedere l'esempio di codice seguente.

Esempio

Acquisizione di un mutex con chiave

Nell'esempio di codice seguente viene illustrato come acquisire un blocco in una risorsa condivisa e come specificare una chiave al momento del rilascio.


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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione dxgi.h
Libreria DXGI.lib

Vedi anche

Interfacce DXGI

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync