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 |