IDXCoreAdapter::SetState 方法

设置适配器上指定项的状态。 在为属性类型调用 SetState 之前,请调用 IsSetStateSupported 以确认设置状态类型可用于此适配器和操作系统 (OS) 。

语法

virtual HRESULT STDMETHODCALLTYPE SetState( 
  DXCoreAdapterState state,
  size_t inputStateDetailsSize,
  _In_reads_bytes_opt_(inputStateDetailsSize) const void *inputStateDetails,
  size_t inputDataSize,
  _In_reads_bytes_(inputDataSize) const void *inputData) = 0;

template <class T1, class T2>
HRESULT SetState( 
  DXCoreAdapterState state,
  const T1 *inputStateDetails,
  const T2 *inputData);

参数

state

类型: DXCoreAdapterState

适配器上要设置其状态的状态项的类型。 有关每种适配器状态类型的详细信息,请参阅 DXCoreAdapterState 中的表。

inputStateDetailsSize

类型: size_t

(输入状态详细信息缓冲区的大小(以字节为单位),可以选择) inputStateDetails 中分配和提供。

inputStateDetails [in]

类型: void const*

指向在应用程序中分配的常量输入状态详细信息缓冲区的可选指针,其中包含在 状态中指定的状态类型所需的有关请求的任何信息。 有关给定状态类型的任何输入缓冲区要求的详细信息,请参阅 DXCoreAdapterState 中的表。

inputDataSize

类型: size_t

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

inputData [in]

类型: void*

指向在应用程序中分配的输入缓冲区的指针,其中包含要为状态项(在 状态中指定的类型)设置 的状态信息。 有关给定状态类型的输入缓冲区要求的详细信息,请参阅 DXCoreAdapterState 中的表。

返回

类型: HRESULT

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

返回值 描述
DXGI_ERROR_DEVICE_REMOVED 适配器不再处于有效状态。
DXGI_ERROR_INVALID_CALL 此操作系统 (OS) 无法识别 状态中指定的状态 类型。 调用 IsSetStateSupported 以确认设置状态类型适用于此适配器和操作系统 (OS) 。
DXGI_ERROR_UNSUPPORTED 适配器不支持状态中指定的 状态 类型。 调用 IsSetStateSupported 以确认设置状态类型适用于此适配器和操作系统 (OS) 。
E_INVALIDARG 对于 inputData (或 inputStateDetails ,其中输入状态详细信息缓冲区是必需的) ,则提供缓冲区大小不足。
E_POINTER nullptrinputData (或 inputStateDetails 提供,其中输入状态详细信息缓冲区是必需的) 。

请参阅

IDXCoreAdapterDXCore 参考使用 DXCore 枚举适配器