Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[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 |