IDXGIKeyedMutex::ReleaseSync 方法 (dxgi.h)

使用密鑰,釋放共用資源的獨占轉譯存取權。

語法

HRESULT ReleaseSync(
  UINT64 Key
);

參數

Key

類型: UINT64

值,表示要授與存取權的裝置。 當目前擁有 Surface 的裝置使用相同的值呼叫 ReleaseSync 方法時,這個方法就會成功。 此值可以是任何 UINT64 值。

傳回值

類型: HRESULT

如果成功,則傳回S_OK。

如果裝置嘗試釋放無效或裝置所擁有的密鑰 Mutex,ReleaseSync 會傳回E_FAIL。

備註

ReleaseSync 方法會將鎖定釋放到多個裝置之間共用的介面。 這個方法會使用密鑰來判斷目前哪些裝置具有介面的獨佔存取權。

使用D3D10_RESOURCE_MISC_FLAG列舉的D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX值建立表面時,您必須先呼叫IDXGIKeyedMutex::AcquireSync方法,再轉譯至表面。 當您完成轉譯至表面時,必須呼叫 ReleaseSync 方法。

呼叫 ReleaseSync 方法之後,共用資源會從轉譯管線取消設定。

若要取得共享資源之索引鍵 mutex 對象的參考,請呼叫資源的 QueryInterface 方法,並傳入 IDXGIKeyedMutex 介面的 UUID。 如需取得此參考的詳細資訊,請參閱下列程式代碼範例。

範例

取得索引鍵 Mutex

下列程式代碼範例示範如何取得共用資源的鎖定,以及如何在發行時指定密鑰。


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

規格需求

需求
目標平台 Windows
標頭 dxgi.h
程式庫 DXGI.lib

另請參閱

DXGI 介面

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync