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

[Solo se aplica a KMDF]

La función de devolución de llamada EvtWmiInstanceExecuteMethod de un controlador ejecuta un método especificado que el controlador proporciona para la instancia de un 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 valor WmiMethodId 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 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 el controlador escribió 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(status) 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.

Comentarios

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.

Después de que un controlador ejecute el método de instancia que especifica el parámetro MethodId , el controlador debe usar el parámetro BufferUsed para almacenar el número de bytes escritos 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 otras funciones de devolución de llamada de eventos del controlador. Si los datos de una función de devolución de llamada EvtWmiInstanceExecuteMethod son dinámicos y se comparten con otras funciones de devolución de llamada, el controlador puede usar los bloqueos de espera o bloqueos de número del marco para sincronizar el acceso a los datos.

Para obtener más información sobre la función de devolución de llamada EvtWmiInstanceExecuteMethod , 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 (incluya Wdf.h)
IRQL PASSIVE_LEVEL

Consulte también

EvtWmiInstanceQueryInstance

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate