IDXGIResource::GetSharedHandle 方法 (dxgi.h)

[从 Direct3D 11.1 开始,建议不再使用 GetSharedHandle 检索共享资源的句柄。 请改用 IDXGIResource1::CreateSharedHandle 获取用于共享的句柄。 若要使用 IDXGIResource1::CreateSharedHandle,必须将资源创建为共享资源,并指定它使用 NT 句柄 (即) 设置 D3D11_RESOURCE_MISC_SHARED_NTHANDLE 标志。 我们还建议创建使用 NT 句柄的共享资源,以便可以在这些共享资源上使用 CloseHandleDuplicateHandle 等。]

获取共享资源的句柄。

语法

HRESULT GetSharedHandle(
  [out] HANDLE *pSharedHandle
);

参数

[out] pSharedHandle

类型: 句柄*

指向句柄的指针。

返回值

类型: HRESULT

返回 DXGI_ERROR 值之一。

备注

GetSharedHandle 返回作为共享 (创建的资源的句柄,即) 设置 D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX 标志或不带D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX标志的 D3D11_RESOURCE_MISC_SHARED 。 可以将此句柄传递给 ID3D11Device::OpenSharedResource 方法,以授予其他设备对共享资源的访问权限。 还可以将此句柄封送到另一个进程,以便与另一个进程中的设备共享资源。 但是,此句柄不是 NT 句柄。 因此,不要将句柄与 CloseHandleDuplicateHandle 等一起使用。

共享资源的创建者不得销毁资源,直到所有预期实体都打开该资源。 句柄的有效性与基础视频内存的生存期相关联。 如果引用此资源的任何设备上不存在任何资源对象,则句柄不再有效。 若要延长句柄和视频内存的生存期,必须在设备上打开共享资源。

GetSharedHandle 还可以返回传递到 ID3D11Device::OpenSharedResource 的资源的句柄,以打开这些资源。

如果未共享要获取句柄的资源,GetSharedHandle 将失败。

要求

   
目标平台 Windows
标头 dxgi.h
Library DXGI.lib

另请参阅

IDXGIResource