Méthode IWbemServices::ExecMethod (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 les status sont retournées à l’appelant, qui se 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 les fournisseurs de méthodes. Pour une 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 pour l'objet.
[in] lFlags
Ce paramètre peut être défini sur 0 pour en faire un appel synchrone. Pour en faire un appel semi-synchrone, 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 in-parameters n’est requis pour exécuter la méthode. Sinon, cela pointe vers un IWbemClassObject qui contient les propriétés agissant en tant que 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
Si ce n’est pas null, reçoit un pointeur vers les paramètres sortants et les valeurs de retour pour l’exécution de la méthode. Le contenu de cet objet est spécifique à 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 pour pointer sur NULL lors de l’entrée. Dans ce cas, l’appel est retourné 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 une valeur HRESULT qui indique le statut 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.
Des codes d’erreur spécifiques à COM peuvent également être retournés si des problèmes réseau vous font perdre la connexion à distance à Windows Management.
Remarques
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é vers 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 |