IDXGIKeyedMutex::ReleaseSync 方法 (dxgi.h)

使用密钥,可释放对共享资源的独占呈现访问权限。

语法

HRESULT ReleaseSync(
  UINT64 Key
);

参数

Key

类型: UINT64

一个 值,该值指示要授予访问权限的设备。 当当前拥有 Surface 的设备使用相同的值调用 ReleaseSync 方法时,此方法成功。 此值可以是任何 UINT64 值。

返回值

类型: HRESULT

如果成功,则返回S_OK。

如果设备尝试释放无效或设备拥有的键锁互斥体, ReleaseSync 将返回E_FAIL。

注解

ReleaseSync 方法将锁释放到多个设备之间共享的图面。 此方法使用密钥来确定哪个设备当前具有对图面的独占访问权限。

使用 D3D10_RESOURCE_MISC_FLAG 枚举的D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX 值创建图面时,必须先调用 IDXGIKeyedMutex::AcquireSync 方法,然后才能呈现到图面。 完成对图面的呈现后,必须调用 ReleaseSync 方法。

调用 ReleaseSync 方法后,共享资源将从呈现管道中取消设置。

若要获取对共享资源的键化互斥对象的引用,请调用资源的 QueryInterface 方法并传入 IDXGIKeyedMutex 接口的 UUID。 有关获取此引用的详细信息,请参阅以下代码示例。

示例

获取键锁互斥体

下面的代码示例演示如何获取共享资源的锁,以及如何在释放时指定密钥。


// 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
Library DXGI.lib

另请参阅

DXGI 接口

IDXGIKeyedMutex

IDXGIKeyedMutex::AcquireSync