IWbemServices::ExecMethod, méthode (wbemcli.h)
La méthode IWbemServices::ExecMethod exécute une méthode exportée par un objet CIM. L’appel de méthode est transféré au fournisseur approprié où il s’exécute. Les informations et l’état sont retournés à l’appelant, ce qui bloque jusqu’à ce que l’appel soit terminé.
Les méthodes ne sont pas implémentées directement par Windows Management, mais sont exportées par des fournisseurs de méthodes. Pour toute classe CIM donnée, les méthodes disponibles et leurs paramètres doivent être spécifiés dans la documentation du fournisseur en question.
Pour plus d’informations sur l’exécution de méthodes, consultez Appel d’une méthode.
Syntaxe
HRESULT ExecMethod(
[in] const BSTR strObjectPath,
[in] const BSTR strMethodName,
[in] long lFlags,
[in] IWbemContext *pCtx,
[in] IWbemClassObject *pInParams,
[out] IWbemClassObject **ppOutParams,
[out] IWbemCallResult **ppCallResult
);
Paramètres
[in] strObjectPath
BSTR valide contenant le chemin d’accès de l’objet pour lequel la méthode est exécutée.
[in] strMethodName
Nom de la méthode de l’objet.
[in] lFlags
Ce paramètre peut être défini sur 0 pour effectuer cet appel synchrone. Pour effectuer cet appel semi-synchronisé, définissez lFlags sur WBEM_FLAG_RETURN_IMMEDIATELY, fournissez un pointeur valide pour le paramètre ppCallResult et cet appel retourne immédiatement. Pour plus d’informations, consultez Appel d’une méthode.
[in] pCtx
Généralement NULL ; sinon, il s’agit d’un pointeur vers un objet IWbemContext qui peut être utilisé par le fournisseur exécutant la méthode. Les valeurs de l’objet de contexte doivent être spécifiées dans la documentation du fournisseur en question. Pour plus d’informations sur ce paramètre, consultez Effectuer des appels à WMI.
[in] pInParams
Peut être NULL si aucun paramètre n’est requis pour exécuter la méthode. Sinon, cela pointe vers un IWbemClassObject qui contient les propriétés agissant comme paramètres entrants pour l’exécution de la méthode. Le contenu de l’objet est spécifique à la méthode et fait partie de la spécification du fournisseur en question. Pour plus d’informations sur la construction de paramètres d’entrée, consultez Création d’objets de paramètres en C++.
[out] ppOutParams
S’il n’est pas NULL, reçoit un pointeur vers les paramètres sortants et retourne des valeurs pour l’exécution de la méthode. Le contenu de cet objet est propre à la méthode et fait partie de la spécification du fournisseur en question. L’appelant doit appeler Release sur l’objet retourné lorsqu’il n’est plus nécessaire.
[out] ppCallResult
Si la valeur est NULL, elle n’est pas utilisée. Si ppCallResult est spécifié, il doit être défini sur NULL lors de l’entrée. Dans ce cas, l’appel retourne immédiatement avec WBEM_S_NO_ERROR. Le paramètre ppCallResult reçoit un pointeur vers un nouvel objet IWbemCallResult , qui doit être interrogé pour obtenir le résultat de l’exécution de la méthode à l’aide de la méthode GetCallStatus . Les paramètres de sortie de l’appel sont disponibles en appelant IWbemCallResult::GetResultObject.
Valeur retournée
Cette méthode retourne un HRESULT indiquant l’état de l’appel de méthode. La liste suivante répertorie la valeur contenue dans un HRESULT.
En cas d’échec, vous pouvez obtenir toutes les informations disponibles à partir de la fonction COM GetErrorInfo.
Les codes d’erreur spécifiques à COM peuvent également être retournés si des problèmes réseau vous provoquent la perte de la connexion à distance à Windows Management.
Notes
Si ppOutParams n’est pas NULL, le client peut déterminer le type de valeur de retour de la méthode en examinant la propriété ReturnValue de l’objet pointé par ppOutParams.
Configuration requise
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | wbemcli.h (include Wbemidl.h) |
Bibliothèque | Wbemuuid.lib |
DLL | Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll |