IDXGIObject::GetPrivateData 方法 (dxgi.h)

获取指向对象数据的指针。

语法

HRESULT GetPrivateData(
  [in]      REFGUID Name,
  [in, out] UINT    *pDataSize,
  [out]     void    *pData
);

参数

[in] Name

类型: REFGUID

标识数据的 GUID。

[in, out] pDataSize

类型: UINT*

数据的大小。

[out] pData

类型: void*

指向数据的指针。

返回值

类型: HRESULT

返回以下 DXGI_ERROR之一。

备注

如果返回的数据是指向 IUnknown 的指针或其派生类之一(以前由 IDXGIObject::SetPrivateDataInterface 设置),则必须在释放指针之前对指针调用 ::Release () 以减小引用计数。

可以在 GetPrivateDataName 参数中传递GUID_DeviceType,以从显示适配器对象 (IDXGIAdapter、IDXGIAdapter1IDXGIAdapter2) 检索设备类型。

获取创建显示适配器的设备类型

  1. ID3D11Device 或 ID3D10Device 对象调用 IUnknown::QueryInterface 以检索 IDXGIDevice 对象。
  2. IDXGIDevice 对象调用 GetParent 以检索 IDXGIAdapter 对象。
  3. 使用 GUID_DeviceType 调用 IDXGIAdapter 对象的 GetPrivateData,以检索创建显示适配器的设备类型。 pData 将指向驱动程序类型枚举 (的值,例如 ,来自 D3D_DRIVER_TYPE) 的值。
在 Windows 7 或更早版本中,此类型是 来自 D3D10_DRIVER_TYPED3D_DRIVER_TYPE 的值,具体取决于创建的设备类型。 在 Windows 8 上,此类型始终是 来自 D3D_DRIVER_TYPE 的值。 请勿将 IDXGIObject::SetPrivateDataGUID_DeviceType 一起使用,因为这样做时的行为是未定义的。

要求

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

另请参阅

DXGI 接口

IDXGIObject