Función WmiCompleteRequest (wmilib.h)

La rutina WmiCompleteRequest indica que un controlador ha terminado de procesar una solicitud WMI en una rutina DpWmiXxx .

Sintaxis

NTSTATUS WmiCompleteRequest(
  [in]      PDEVICE_OBJECT DeviceObject,
  [in, out] PIRP           Irp,
  [in]      NTSTATUS       Status,
  [in]      ULONG          BufferUsed,
  [in]      CCHAR          PriorityBoost
);

Parámetros

[in] DeviceObject

Puntero al DEVICE_OBJECT del controlador.

[in, out] Irp

Puntero al IRP.

[in] Status

Especifica el estado que se va a devolver para el IRP.

[in] BufferUsed

Especifica el número de bytes necesarios en el búfer pasado a la rutina DpWmiXxx del controlador. Si el búfer es demasiado pequeño, el controlador establece Status en STATUS_BUFFER_TOO_SMALL y establece BufferUsed en el número de bytes necesarios para que se devuelvan los datos. Si el búfer pasado es lo suficientemente grande, el controlador establece BufferUsed en el número de bytes que se usan realmente.

[in] PriorityBoost

Especifica una constante definida por el sistema por la que se incrementa la prioridad en tiempo de ejecución del subproceso original que solicitó la operación. WMI llama a IoCompleteRequest con PriorityBoost cuando completa el IRP. Consulte IoCompleteRequest para obtener más información sobre PriorityBoost.

Valor devuelto

WmiCompleteRequest devuelve el valor que se le pasó en el parámetro Status a menos que Status se haya establecido en STATUS_BUFFER_TOO_SMALL. Si el controlador establece Status igual a STATUS_BUFFER_TOO_SMALL, WmiCompleteRequest compila una estructura de WNODE_TOO_SMALL y devuelve STATUS_SUCCESS. El controlador debe devolver el valor devuelto de WmiCompleteRequest en su rutina DpWmiXxx .

Comentarios

Un controlador llama a WmiCompleteRequest desde una rutina DpWmiXxx después de finalizar el resto del procesamiento de esa rutina, o después de que el controlador finalice todo el procesamiento de un IRP pendiente. WmiCompleteRequest rellena un WNODE_XXX con los datos devueltos por el controlador y llama a IoCompleteRequest para completar el IRP.

Un controlador siempre debe devolver el valor devuelto de WmiCompleteRequest en su rutina DpWmiXxx .

Un controlador no debe llamar a WmiCompleteRequest desde su rutina DpWmiQueryRegInfo .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wmilib.h (incluya Wmilib.h)
Library Wmilib.lib
IRQL <= DISPATCH_LEVEL

Consulte también

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

IoCompleteRequest

WmiSystemControl