IDXCoreAdapter::QueryState 方法

擷取配接器上指定專案的目前狀態。 呼叫 屬性類型的 QueryState 之前,請呼叫 IsQueryStateSupported 以確認此介面卡和作業系統 (OS) 可以使用狀態類型。

語法

virtual HRESULT STDMETHODCALLTYPE QueryState( 
  DXCoreAdapterState state,
  size_t inputStateDetailsSize,
  _In_reads_bytes_opt_(inputStateDetailsSize) const void *inputStateDetails,
  size_t outputBufferSize,
  _Out_writes_bytes_(outputBufferSize) void *outputBuffer) = 0;

template <class T1, class T2>
HRESULT QueryState( 
  DXCoreAdapterState state,
  _In_reads_bytes_opt_(sizeof(T1)) const T1 *inputStateDetails,
  _Out_writes_bytes_(sizeof(T2)) T2 *outputBuffer);

template <class T>
HRESULT QueryState( 
  DXCoreAdapterState state,
  _Out_writes_bytes_(sizeof(T)) T *outputBuffer);

參數

State

類型: DXCoreAdapterState

您要擷取其狀態之配接器上的狀態專案類型。 如需每個介面卡狀態類型的詳細資訊,請參閱 DXCoreAdapterState 中的表格。

inputStateDetailsSize

類型: size_t

您 () 選擇性地在 inputStateDetails中配置並提供的輸入狀態詳細資料緩衝區大小,以位元組為單位。

inputStateDetails [in]

類型: void const*

您在應用程式中配置的常數輸入狀態詳細資料緩衝區選擇性指標,其中包含您在 狀態中指定的狀態類型所需的任何要求相關資訊。 如需指定狀態類型之任何輸入緩衝區需求的詳細資訊,請參閱 DXCoreAdapterState 中的表格。

outputBufferSize

類型: size_t

您在 outputBuffer中配置和提供的輸出緩衝區大小,以位元組為單位。

outputBuffer [out]

類型: void*

您在應用程式中配置的輸出緩衝區指標,且函式會填入。 如需指定狀態類型之輸出緩衝區需求的詳細資訊,請參閱 DXCoreAdapterState 中的資料表。

傳回

類型: HRESULT

如果函式成功,它會傳回 S_OK。 否則,它會傳回 HRESULT錯誤碼

傳回值 描述
DXGI_ERROR_DEVICE_REMOVED 配接器已不再處於有效的狀態。
DXGI_ERROR_INVALID_CALL 此作業系統 (OS) 無法辨識 狀態中指定的狀態 類型。 呼叫 IsQueryStateSupported 以確認此介面卡和作業系統 (作業系統) 是否有狀態類型查詢。
DXGI_ERROR_UNSUPPORTED 配接器不支援 狀態中指定的狀態 種類。 呼叫 IsQueryStateSupported 以確認此介面卡和作業系統 (作業系統) 是否有狀態類型查詢。
E_INVALIDARG 針對 outputBuffer (或 inputStateDetails 提供緩衝區大小不足,其中需要輸入狀態詳細資料緩衝區) 。
E_POINTER nullptr 已針對 outputBuffer (或 inputStateDetails 提供,其中需要輸入狀態詳細資料緩衝區) 。

備註

如需每個配接器狀態類型的詳細資訊,以及使用哪些輸入和輸出,請參閱 DXCoreAdapterState 。 此函式會在填入 輸出之前將 outputBuffer 緩衝區零。

另請參閱

IDXCoreAdapterDXCore 參考使用 DXCore 列舉配接