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 |