Fonction IoWMIExecuteMethod (wdm.h)
La routine IoWMIExecuteMethod exécute une méthode de classe WMI sur le bloc de données WMI spécifié instance.
Syntaxe
NTSTATUS IoWMIExecuteMethod(
[in] PVOID DataBlockObject,
[in] PUNICODE_STRING InstanceName,
[in] ULONG MethodId,
[in] ULONG InBufferSize,
[in, out] PULONG OutBufferSize,
[in, out] PUCHAR InOutBuffer
);
Paramètres
[in] DataBlockObject
Pointeur vers un objet de bloc de données WMI. L’appelant ouvre l’objet de bloc de données pour la classe WMI avec IoWMIOpenBlock. L’objet doit être ouvert avec le droit d’accès WMIGUID_EXECUTE.
[in] InstanceName
Spécifie le nom du instance du bloc de données. Cette valeur correspond à la valeur de la propriété InstanceName pour le bloc.
[in] MethodId
Spécifie l’ID d’élément de méthode pour la méthode à définir. La valeur de ce paramètre correspond à la valeur déclarée dans le qualificateur WmiMethodId pour la méthode .
[in] InBufferSize
Spécifie la taille, en octets, des données d’entrée pour la méthode . Les données d’entrée réelles sont passées dans la mémoire tampon vers laquelle pointe le paramètre InOutBuffer .
[in, out] OutBufferSize
Pointeur vers un ULONG qui spécifie la taille attendue, en octets, de la sortie de données par la méthode . Les données de sortie réelles sont retournées dans la mémoire tampon vers laquelle pointe le paramètre InOutBuffer . Si la routine réussit, elle met à jour l’emplacement de la mémoire pour spécifier le nombre d’octets réellement stockés dans InOutBuffer. Si la routine échoue avec STATUS_BUFFER_TOO_SMALL, elle retourne le nombre d’octets requis pour retourner les données.
[in, out] InOutBuffer
Pointeur vers la mémoire tampon où l’appelant transmet les données d’entrée de la méthode WMI et reçoit les données de sortie de la méthode WMI.
Valeur retournée
La routine retourne un code NTSTATUS. Les valeurs de retour possibles sont les suivantes :
Code de retour | Description |
---|---|
|
L’opération a réussi. La routine retourne les données WMI dans la mémoire tampon pointée par le paramètre InOutBuffer . La routine retourne également la taille, en octets, des données retournées dans l’emplacement de mémoire pointé par le paramètre OutBufferSize . |
|
Aucun pilote n’implémente la classe WMI. |
|
Aucun pilote n’implémente une instance de la classe WMI avec la propriété InstanceName égale à la valeur spécifiée dans le paramètre InstanceName. |
|
La classe WMI ne contient pas de méthode dont l’ID de méthode est égal à la valeur de MethodId. |
|
La mémoire tampon passée par l’appelant dans le paramètre OutBuffer est trop petite. La routine retourne la taille de mémoire tampon requise dans l’emplacement mémoire pointé par le paramètre InOutBufferSize . |
|
Le GUID WMI n’est plus disponible ou n’a jamais été disponible. |
Remarques
IoWMIExecuteMethod détermine quels pilotes peuvent prendre en charge la classe WMI et le nom de instance spécifiés. Il émet une requête IRP_MN_EXECUTE_METHOD à chacun de ces pilotes. Le pilote qui exporte le bloc de données instance avec la propriété InstanceName correspondante, puis exécute la méthode WMI spécifiée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows XP et versions ultérieures du système d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |