WmiCompleteRequest, fonction (wmilib.h)

La routine WmiCompleteRequest indique qu’un pilote a terminé de traiter une requête WMI dans une routine DpWmiXxx .

Syntaxe

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

Paramètres

[in] DeviceObject

Pointeur vers le DEVICE_OBJECT du pilote.

[in, out] Irp

Pointeur vers l’IRP.

[in] Status

Spécifie le status à retourner pour l’IRP.

[in] BufferUsed

Spécifie le nombre d’octets nécessaires dans la mémoire tampon passée à la routine DpWmiXxx du pilote. Si la mémoire tampon est trop petite, le pilote définit Status sur STATUS_BUFFER_TOO_SMALL et définit BufferUsed sur le nombre d’octets nécessaires pour que les données soient retournées. Si la mémoire tampon passée est suffisamment grande, le pilote définit BufferUsed sur le nombre d’octets réellement utilisés.

[in] PriorityBoost

Spécifie une constante définie par le système par laquelle incrémenter la priorité d’exécution du thread d’origine qui a demandé l’opération. WMI appelle IoCompleteRequest avec PriorityBoost lorsqu’il termine l’IRP. Pour plus d’informations sur PriorityBoost, consultez IoCompleteRequest.

Valeur retournée

WmiCompleteRequest retourne la valeur qui lui a été passée dans le paramètre Status , sauf si Status a été défini sur STATUS_BUFFER_TOO_SMALL. Si l’état du jeu de pilotes est égal à STATUS_BUFFER_TOO_SMALL, WmiCompleteRequest génère une structure WNODE_TOO_SMALL et retourne STATUS_SUCCESS. La valeur de retour de WmiCompleteRequest doit être retournée par le pilote dans sa routine DpWmiXxx .

Remarques

Un pilote appelle WmiCompleteRequest à partir d’une routine DpWmiXxx après avoir terminé tous les autres traitements de cette routine, ou une fois que le pilote a terminé tout le traitement d’une IRP en attente. WmiCompleteRequest remplit une WNODE_XXX avec toutes les données retournées par le pilote et appelle IoCompleteRequest pour terminer l’IRP.

Un pilote doit toujours retourner la valeur de retour de WmiCompleteRequest dans sa routine DpWmiXxx .

Un pilote ne doit pas appeler WmiCompleteRequest à partir de sa routine DpWmiQueryRegInfo .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wmilib.h (inclure Wmilib.h)
Bibliothèque Wmilib.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

DpWmiExecuteMethod

DpWmiFunctionControl

DpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

DpWmiSetDataItem

IoCompleteRequest

WmiSystemControl