Partager via


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_OBJECTdu pilote .

[in, out] Irp

Pointeur vers l’IRP.

[in] Status

Spécifie l’état à 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 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. Consultez IoCompleteRequest pour plus d’informations sur priorityBoost.

Valeur de retour

WmiCompleteRequest retourne la valeur qui lui a été transmise dans le paramètre Status, sauf si Status a été défini sur STATUS_BUFFER_TOO_SMALL. Si le pilote Status égal à STATUS_BUFFER_TOO_SMALL, WmiCompleteRequest génère une structure de 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 une fois qu’il a terminé tout autre traitement dans cette routine, ou une fois que le pilote a terminé tout le traitement d’un IRP en attente. WmiCompleteRequest remplit uneXXX WNODE_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.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wmilib.h (include Wmilib.h)
bibliothèque Wmilib.lib
IRQL <= DISPATCH_LEVEL

Voir aussi

DpWmiExecuteMethod

DpWmiFunctionControl

dpWmiQueryDataBlock

DpWmiQueryReginfo

DpWmiSetDataBlock

dpWmiSetDataItem

IoCompleteRequest

WmiSystemControl