ID3D11DeviceChild::SetPrivateData 方法 (d3d11.h)

将应用程序定义的数据设置为设备子级,并将该数据与应用程序定义的 guid 相关联。

语法

HRESULT SetPrivateData(
  [in]           REFGUID    guid,
  [in]           UINT       DataSize,
  [in, optional] const void *pData
);

参数

[in] guid

类型: REFGUID

与数据关联的 Guid。

[in] DataSize

类型: UINT

数据的大小。

[in, optional] pData

类型: const void*

指向要随此设备子设备一起存储的数据的指针。 如果 pData 为 NULL,则 DataSize 也必须为 0,并且之前与指定 guid 关联的任何数据都将销毁。

返回值

类型: HRESULT

此方法返回以下 Direct3D 11 返回代码之一

注解

可以使用 ID3D11DeviceChild::GetPrivateData 检索使用此方法存储在设备子设备中的数据。

调试层通过输出对象接口指针的列表及其友好名称来报告内存泄漏。 默认友好名称是“<unnamed>”。 可以设置友好名称,以便确定相应的对象接口指针是否导致泄漏。 若要设置友好名称,请使用 SetPrivateData 方法和 D3Dcommon.h 中的 WKPDID_D3DDebugObjectName GUID。 例如,若要为 pContext 提供 友好名称“我的名字”,请使用以下代码:


static const char c_szName[] = "My name";
hr = pContext->SetPrivateData( WKPDID_D3DDebugObjectName, sizeof( c_szName ) - 1, c_szName );

要求

要求
目标平台 Windows
标头 d3d11.h
Library D3D11.lib

另请参阅

ID3D11DeviceChild