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 中的表。
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 | nullptr 为 propertyData 提供。 |
注解
可以在不再有效的适配器上调用 GetProperty , 函数不会因此而失败。 此函数在填充 propertyData 缓冲区之前将其归零。
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈