Метод IDXCoreAdapter::QueryState
Извлекает текущее состояние указанного элемента в адаптере. Перед вызовом QueryState для типа свойства вызовите IsQueryStateSupported , чтобы убедиться, что для этого адаптера и операционной системы доступен запрос типа состояния.
Синтаксис
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);
Параметры
Состояние
Тип: 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 | Тип состояния, указанный в state , не распознается данной операционной системой (ОС). Вызовите IsQueryStateSupported , чтобы убедиться, что для этого адаптера и операционной системы доступен запрос типа состояния. |
DXGI_ERROR_UNSUPPORTED | Тип состояния, указанный в состоянии , не поддерживается адаптером. Вызовите IsQueryStateSupported , чтобы убедиться, что для этого адаптера и операционной системы доступен запрос типа состояния. |
E_INVALIDARG | Недостаточный размер буфера предоставляется для outputBuffer (или для inputStateDetails , где требуется буфер сведений о входном состоянии). |
E_POINTER | nullptr был предоставлен для outputBuffer (или для inputStateDetails, где требуется буфер сведений о входном состоянии). |
Комментарии
Дополнительные сведения о каждом типе состояния адаптера и используемых входных и выходных данных см. в разделе DXCoreAdapterState . Эта функция обнуляет буфер outputBuffer перед его заполнением.
См. также раздел
IDXCoreAdapter, DXCore Reference, Using DXCore to enumerate adapters
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по