Partager via


IWbemClassObject ::P utMethod, méthode (wbemcli.h)

IWbemClassObject ::P utMethod est utilisé pour créer une méthode. Cet appel est pris en charge uniquement si l’objet actuel est une définition de classe CIM. La manipulation de méthode n’est pas disponible à partir des pointeurs IWbemClassObject qui pointent vers des instances CIM.

L’utilisateur ne peut pas créer de méthodes dont les noms commencent ou se terminent par un trait de soulignement. Cela est réservé aux classes et aux propriétés système.

Syntaxe

HRESULT PutMethod(
  [in] LPCWSTR          wszName,
  [in] long             lFlags,
  [in] IWbemClassObject *pInSignature,
  [in] IWbemClassObject *pOutSignature
);

Paramètres

[in] wszName

Nom de la méthode créée.

[in] lFlags

Réservé. Ce paramètre doit être égal à 0 (zéro).

[in] pInSignature

Pointeur vers une copie de la classe système __Parameters qui contient les paramètres dans pour la méthode . Ce paramètre est ignoré s’il est défini sur NULL.

[in] pOutSignature

Pointeur vers une copie de la classe système __Parameters qui contient les paramètres de sortie de l’objet . Ce paramètre est ignoré s’il est défini sur NULL.

Valeur retournée

Cette méthode retourne une valeur HRESULT qui indique l’état de l’appel de méthode. La liste suivante répertorie la valeur contenue dans un HRESULT. Pour connaître les valeurs HRESULT générales, consultez Codes d’erreur système.

Remarques

Pour une méthode, les paramètres d’entrée et de sortie sont décrits en tant que propriétés dans les objets IWbemClassObject .

Par exemple, considérez la méthode suivante :

Class MyClass{
    [key] string KeyVal;
    sint32 PropVal;
    sint32 ExampleMethod([in] sint32 Param1, [in] uint32 Param2, 
        [out] string Param3);
    HRESULT ReturnValue;
};

Dans l’exemple précédent, la classe a une méthode . Pour créer la méthode par programmation, l’utilisateur appelle IWbemClassObject ::P utMethod avec le paramètre pInSignature qui pointe vers une copie de la classe système __Parameters qui contient deux propriétés : Param1 et Param2. Le pOutSignature pointe vers une copie de la classe système __Parameters qui contient deux propriétés : Param3 et ReturnValue.

La propriété ReturnValue de l’objet pointé par pOutSignature détermine le type de retour de la méthode. Si pOutSignature est défini sur NULL, le type de retour est supposé être VOID.

Un paramètre [in/out] peut être défini en ajoutant la même propriété aux deux objets pointés par les paramètres pInSignature et pOutSignature . Dans ce cas, les propriétés partagent la même valeur de qualificateur d’ID.

Chaque propriété d’un objet de classe __Parameters autre que ReturnValue doit avoir un qualificateur d’ID , un numérique de base zéro qui identifie l’ordre dans lequel les paramètres apparaissent. Dans cet exemple, Param1 serait 0, Param2 1 et Param3 2. Aucun paramètre ne peut avoir la même valeur d’ID et aucune valeur d’ID ne peut être ignorée. Si l’une ou l’autre des conditions se produit, IWbemClassObject ::P utMethod retourne WBEM_E_NONCONSECUTIVE_PARAMETER_IDS.

Note L’appelant doit appeler IWbemClassObject ::Release sur les pointeurs pInSignature et pOutSignature lorsque ces objets ne sont plus nécessaires.
 

Configuration requise

Condition requise Valeur
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 CIMWin32.dll ; Esscli.dll ; Fastprox.dll ; FrameDyn.dll ; FrameDynOS.dll ; Krnlprov.dll ; Ncprov.dll ; Wbemcore.dll ; Wbemess.dll ; Wmipiprt.dll

Voir aussi

Création d’une méthode

IWbemClassObject

IWbemClassObject ::GetMethod