Método IDXCoreAdapter::QueryState

Recupera el estado actual del elemento especificado en el adaptador. Antes de llamar a QueryState para un tipo de propiedad, llame a IsQueryStateSupported para confirmar que la consulta del tipo de estado está disponible para este adaptador y sistema operativo (SO).

Sintaxis

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);

Parámetros

state

Tipo: DXCoreAdapterState

Tipo de elemento de estado en el adaptador cuyo estado desea recuperar. Consulta la tabla en DXCoreAdapterState para obtener más información sobre cada tipo de estado de adaptador.

inputStateDetailsSize

Tipo: size_t

El tamaño, en bytes, del búfer de detalles de estado de entrada que asigna y proporciona en inputStateDetails.

inputStateDetails [in]

Tipo: void const*

Puntero opcional a un búfer de detalles de estado de entrada constante que se asigna en la aplicación, que contiene cualquier información sobre la solicitud necesaria para el tipo de estado que especifique en estado. Consulta la tabla en DXCoreAdapterState para obtener más información sobre cualquier requisito de búfer de entrada para un tipo de estado determinado.

outputBufferSize

Tipo: size_t

Tamaño, en bytes, del búfer de salida que asigna y proporciona en outputBuffer.

outputBuffer [out]

Tipo: void*

Puntero a un búfer de salida que se asigna en la aplicación y que la función rellena. Consulta la tabla en DXCoreAdapterState para obtener más información sobre el requisito del búfer de salida para un tipo de estado determinado.

Devoluciones

Tipo: HRESULT

Si la función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de errorHRESULT.

Valor devuelto Descripción
DXGI_ERROR_DEVICE_REMOVED El adaptador ya no está en un estado válido.
DXGI_ERROR_INVALID_CALL Este sistema operativo (SO) no reconoce el tipo de estado especificado en estado . Llame a IsQueryStateSupported para confirmar que la consulta del tipo de estado está disponible para este adaptador y sistema operativo (SO).
DXGI_ERROR_UNSUPPORTED El adaptador no admite el tipo de estado especificado en estado . Llame a IsQueryStateSupported para confirmar que la consulta del tipo de estado está disponible para este adaptador y sistema operativo (SO).
E_INVALIDARG Se proporciona un tamaño de búfer insuficiente para outputBuffer (o para inputStateDetails donde es necesario un búfer de detalles de estado de entrada).
E_POINTER nullptr se proporcionó para outputBuffer (o para inputStateDetails donde es necesario un búfer de detalles de estado de entrada).

Observaciones

Consulta DXCoreAdapterState para obtener más información sobre cada tipo de estado de adaptador y qué entradas y salidas se usan. Esta función elimina el búfer outputBuffer antes de rellenarlo.

Consulte también

IDXCoreAdapter, referencia de DXCore, uso de DXCore para enumerar adaptadores