Compartir a través de


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

[Solo se aplica a KMDF]

La de un controlador EvtWmiInstanceQueryInstance función de devolución de llamada 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.

Observaciones

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 de encabezado WMI necesaria a los datos.

Si el controlador establece el UseContextForQuery miembro 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 de EvtWmiInstanceQueryInst ance, consulte compatibilidad con bloques de datos WMI de lectura y escritura y compatibilidad con Read-Only bloques de datos WMI.

El marco de trabajo 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 demás funciones de devolución de llamada de eventos del controlador. Si un EvtWmiInstanceQueryInstance los datos de la función de devolución de llamada son dinámicos y se comparten con otras funciones de devolución de llamada, el controlador puede usar los bloqueos de espera del marco o bloqueos de giro 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 Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
encabezado de wdfwmi.h (incluya Wdf.h)
irQL PASSIVE_LEVEL

Consulte también

EvtWmiInstanceExecuteMethod

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_BUFFER_APPEND_STRING

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCrear