EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE función de devolución de llamada (wdfwmi.h)

[Solo se aplica a KMDF]

La función de devolución de llamada EvtWmiInstanceQueryInstance de un controlador copia los datos de instancia de un proveedor WMI en un búfer para su entrega a un cliente WMI.

Sintaxis

EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;

NTSTATUS EvtWdfWmiInstanceQueryInstance(
  [in]  WDFWMIINSTANCE WmiInstance,
  [in]  ULONG OutBufferSize,
  [in]  PVOID OutBuffer,
  [out] PULONG BufferUsed
)
{...}

Parámetros

[in] WmiInstance

Identificador de un objeto de instancia de WMI.

[in] OutBufferSize

Tamaño, en bytes, del búfer de salida al que apunta OutBuffer .

[in] OutBuffer

Puntero al búfer de salida.

[out] BufferUsed

Puntero a una ubicación que recibe el número de bytes que coloca el controlador en el búfer de salida. Si el tamaño del búfer de salida que especifica el parámetro OutBufferSize es demasiado pequeño, el controlador establece esta ubicación en el tamaño de búfer necesario.

Valor devuelto

La función de devolución de llamada EvtWmiInstanceQueryInstance debe devolver STATUS_BUFFER_TOO_SMALL, si el valor del parámetro OutBufferSize indica que el búfer de salida es demasiado pequeño para recibir los datos. De lo contrario, la función de devolución de llamada debe copiar datos en el búfer y devolver STATUS_SUCCESS.

Comentarios

Para registrar una función de devolución de llamada EvtWmiInstanceQueryInstance , el controlador debe colocar la dirección de la función en una estructura de WDF_WMI_INSTANCE_CONFIG antes de llamar a WdfWmiInstanceCreate.

Antes de que el marco envíe los datos de instancia proporcionados por el controlador al cliente WMI, agrega toda la información necesaria del encabezado WMI a los datos.

Si el controlador establece el miembro UseContextForQuery de la estructura WDF_WMI_INSTANCE_CONFIG del objeto de instancia de WMI en TRUE para un bloque de datos de solo lectura, el controlador no proporciona una función de devolución de llamada EvtWmiInstanceQueryInstance .

Si el controlador debe proporcionar datos de cadena a un cliente WMI, el controlador debe llamar a la función WDF_WMI_BUFFER_APPEND_STRING para dar formato a la cadena.

Para obtener más información sobre la función de devolución de llamada EvtWmiInstanceQueryInstance , vea Compatibilidad con bloques de datos WMI de lectura y escritura y compatibilidad con bloques de datos WMI de Read-Only.

El marco no sincroniza las llamadas a las funciones de devolución de llamada de eventos WMI de un controlador entre sí o con cualquiera de las otras funciones de devolución de llamada de eventos del controlador. Si los datos de una función de devolución de llamada EvtWmiInstanceQueryInstance son dinámicos y se comparten con otras funciones de devolución de llamada, el controlador puede usar los bloqueos de espera o los bloqueos de número del marco para sincronizar el acceso a los datos.

Para obtener más información sobre WMI, vea Compatibilidad con WMI en controladores de Framework-Based.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfwmi.h (incluir Wdf.h)
IRQL PASSIVE_LEVEL

Consulte también

EvtWmiInstanceExecuteMethod

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_BUFFER_APPEND_STRING

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate