EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD función de devolución de llamada (wdfwmi.h)
[Solo se aplica a KMDF]
La de un controlador EvtWmiInstanceExecuteMethod función de devolución de llamada ejecuta un método especificado que el controlador proporciona para una instancia del proveedor de datos WMI.
Sintaxis
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD EvtWdfWmiInstanceExecuteMethod;
NTSTATUS EvtWdfWmiInstanceExecuteMethod(
[in] WDFWMIINSTANCE WmiInstance,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in] ULONG OutBufferSize,
[in, out] PVOID Buffer,
[out] PULONG BufferUsed
)
{...}
Parámetros
[in] WmiInstance
Identificador de un objeto de instancia de WMI.
[in] MethodId
Valor que identifica un método en una instancia de proveedor. Este valor corresponde al WmiMethodId valor especificado en el archivo MOF del proveedor.
[in] InBufferSize
Número de bytes de datos de entrada.
[in] OutBufferSize
Número de bytes de datos de salida que el búfer que Búfer apunta a puede contener.
[in, out] Buffer
Puntero a un búfer que se usa para la entrada, salida o ambos, según lo determinado por el método especificado. Si se proporcionan datos de entrada y salida, el controlador sobrescribe los datos de entrada con los datos de salida.
[out] BufferUsed
Puntero a una ubicación que recibe el número de bytes que escribió 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 EvtWmiInstanceExecuteMethod debe devolver STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, esta función debe devolver un valor de estado para el que NT_SUCCESS(estado) es igual a FALSE. El controlador 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.
Observaciones
Para registrar una función de devolución de llamada EvtWmiInstanceExecuteMethod, el controlador debe colocar la dirección de la función en una estructura de WDF_WMI_INSTANCE_CONFIG antes de llamar a WdfWmiInstanceCreate.
Una vez que un controlador ejecuta el método de instancia que especifica el parámetro MethodId MethodId, el controlador debe usar el parámetro BufferUsed para almacenar el número de bytes que se escribieron en el búfer.
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 EvtWmiInstanceExecuteMethod los datos de la función de devolución de llamada son dinámicos y compartidos con otras funciones de devolución de llamada, el controlador puede usar los bloqueos de espera del marco o los bloqueos de giro sincronizar el acceso a los datos.
Para obtener más información sobre la función de devolución de llamada EvtWmiInstanceExecuteMethod, consulte Compatibilidad con WMI en Framework-Based Controladores.
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 |