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 |