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 |