Méthode IWbemServices ::P utClass (wbemcli.h)

La méthode IWbemServices ::P utClass crée une classe ou met à jour une classe existante. La classe spécifiée par le paramètre pObject doit avoir été correctement initialisée avec toutes les valeurs de propriété requises.

L’utilisateur ne peut pas créer de classes avec des noms qui commencent ou se terminent par un trait de soulignement (_). Il est réservé aux classes système.

Syntaxe

HRESULT PutClass(
  [in]  IWbemClassObject *pObject,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [out] IWbemCallResult  **ppCallResult
);

Paramètres

[in] pObject

Doit pointer vers une définition de classe valide. Le nombre de références n’est pas modifié.

[in] lFlags

Les indicateurs suivants affectent le comportement de cette méthode.

WBEM_FLAG_USE_AMENDED_QUALIFIERS

Si cet indicateur est défini, WMI ne stocke aucun qualificateur avec la version modifiée. Si cet indicateur n’est pas défini, il est supposé que cet objet n’est pas localisé et que tous les qualificateurs sont stockés avec cette instance.

WBEM_FLAG_CREATE_OR_UPDATE

Cet indicateur entraîne la création de la classe si elle n’existe pas, ou le remplacement s’il existe déjà.

WBEM_FLAG_UPDATE_ONLY

Cet indicateur entraîne la mise à jour de cet appel. Pour que l’appel réussisse, la classe doit exister.

WBEM_FLAG_CREATE_ONLY

Cet indicateur est utilisé uniquement pour la création. L’appel échoue si la classe existe déjà.

WBEM_FLAG_RETURN_IMMEDIATELY

Cet indicateur fait qu’il s’agit d’un appel semi-synchronisé. Pour plus d’informations, consultez Appel d’une méthode.

WBEM_FLAG_OWNER_UPDATE

Les fournisseurs push doivent spécifier cet indicateur lors de l’appel de PutClass pour indiquer que cette classe a changé.

WBEM_FLAG_UPDATE_COMPATIBLE

Cet indicateur permet de mettre à jour une classe s’il n’y a pas de classes dérivées et s’il n’y a pas d’instances pour cette classe. Il autorise également les mises à jour dans tous les cas si la modification concerne uniquement des qualificateurs non importants (par exemple, le qualificateur Description ). Il s’agit du comportement par défaut pour cet appel et est utilisé pour la compatibilité avec les versions précédentes de Windows Management. Si la classe comprend des instances ou si les modifications ont été apportées à des qualificateurs importants, la mise à jour échouera.

WBEM_FLAG_UPDATE_SAFE_MODE

Cet indicateur autorise les mises à jour des classes même s’il existe des classes enfants tant que la modification n’entraîne aucun conflit avec les classes enfants. Un exemple de mise à jour que cet indicateur autoriserait serait d’ajouter une nouvelle propriété à la classe de base qui n’a pas été mentionnée précédemment dans l’une des classes enfants. Si la classe comprend des instances, la mise à jour échouera.

WBEM_FLAG_UPDATE_FORCE_MODE

Cet indicateur force les mises à jour des classes quand il existe des classes enfants en conflit. Un exemple de mise à jour forcée de cet indicateur serait si un qualificateur de classe était défini dans une classe enfant et que la classe de base tentait d’ajouter le même qualificateur qui était en conflit avec l’existant. En mode force, ce conflit est résolu en supprimant le qualificateur en conflit dans la classe enfant.

[in] pCtx

Généralement NULL. Sinon, il s’agit d’un pointeur vers un objet IWbemContext requis par le fournisseur de classes dynamiques qui produit les instances de classe. 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.

[out] ppCallResult

Si la valeur est NULL, ce paramètre n’est pas utilisé. Si le paramètre lFlags contient WBEM_FLAG_RETURN_IMMEDIATELY, cet appel retourne immédiatement avec WBEM_S_NO_ERROR. Le paramètre ppCallResult reçoit un pointeur vers un nouvel objet IWbemCallResult , qui peut ensuite être interrogé pour obtenir le résultat à l’aide de la méthode IWbemCallResult ::GetCallStatus .

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.

Note Un comportement imprévisible se produit si vous modifiez les définitions de classe pendant qu’elles sont utilisées par des clients ou des fournisseurs. La méthode IWbemServices ::P utClass doit uniquement être utilisée pour créer ou mettre à jour une classe lorsqu’aucun client ou fournisseur n’utilise actuellement la classe .
 

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 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

Création d’une classe

IWbemCallResult

IWbemServices

Récupération d’un code d’erreur