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 中的表格。
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 緩衝區零。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應