IDXCoreAdapter::GetProperty 方法

检索指定适配器属性的值。 在为属性类型调用 GetProperty 之前,请调用 IsPropertySupported 以确认该属性类型可用于此适配器和操作系统 (OS) 。 此外,在调用 GetProperty 之前,请调用 GetPropertySize 来确定要接收属性值的缓冲区的必要大小。

语法

virtual HRESULT STDMETHODCALLTYPE GetProperty(
  DXCoreAdapterProperty property,
  size_t bufferSize,
  _Out_writes_bytes_(bufferSize) void *propertyData) = 0;

template <class T>
HRESULT GetProperty( 
  DXCoreAdapterProperty property,
  _Out_writes_bytes_(sizeof(T)) T *propertyData);

参数

property

类型: DXCoreAdapterProperty

要检索其值的属性的类型。 有关每个适配器属性的详细信息,请参阅 DXCoreAdapterProperty 中的表。

bufferSize

类型: size_t

propertyData 中分配和提供的输出缓冲区的大小(以字节为单位)。

propertyData [out]

类型: void*

指向在应用程序中分配且函数填充的输出缓冲区的指针。 调用 GetPropertySize 以确定给定适配器属性 的 propertyData 缓冲区应的大小。

返回

类型: HRESULT

如果函数成功,则返回 S_OK。 否则,它将返回 HRESULT错误代码

返回值 描述
DXGI_ERROR_INVALID_CALL 此操作系统 (OS) 无法识别 属性中指定的属性 类型。 调用 IsPropertySupported 以确认属性类型可用于此适配器和操作系统 (OS) 。
DXGI_ERROR_UNSUPPORTED 适配器不支持 属性中指定的属性 类型。 调用 IsPropertySupported 以确认属性类型可用于此适配器和操作系统 (OS) 。
E_INVALIDARG propertyData 中提供了缓冲区大小不足。 调用 GetPropertySize 以确定给定适配器属性 的 propertyData 缓冲区应的大小。
E_POINTER nullptrpropertyData 提供。

注解

可以在不再有效的适配器上调用 GetProperty , 函数不会因此而失败。 此函数在填充 propertyData 缓冲区之前将其归零。

请参阅

IDXCoreAdapterDXCore 参考使用 DXCore 枚举适配器