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

Voir aussi

Appel d’une méthode

IWbemCallResult::GetResultObject

IWbemServices

IWbemServices::ExecMethodAsync