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