SWbemObject. put, _ méthode

la méthode _ Put de SWbemObject crée ou met à jour une instance ou un objet de classe pour Windows Management Instrumentation (WMI). Vous pouvez utiliser cette méthode après avoir modifié des propriétés ou des méthodes dans un SWbemObject, et vos modifications sont écrites dans WMI.

Pour une explication de cette syntaxe, consultez conventions de document pour l’API de script.

Syntaxe

objObjectPath = .Put_( _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ] _
)

Paramètres

IFlags [ dans, facultatif]

Ce paramètre détermine si l’appel crée ou met à jour la classe ou l’instance et si l’appel est retourné immédiatement. Ce paramètre peut accepter les valeurs suivantes.

wbemChangeFlagUpdateCompatible * * * * (0 (0x0))

Permet à une classe d’être mise à jour s’il n’y a pas de classes dérivées et qu’il n’existe aucune instance pour cette classe. Il autorise également les mises à jour dans tous les cas si la modification concerne uniquement des qualificateurs peu importants (par exemple, le qualificateur de 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 WMI. Si la classe a des instances, la mise à jour échoue.

wbemChangeFlagUpdateSafeMode * * * * (32 (0x20))

Autorise les mises à jour des classes, même s’il existe des classes enfants si la modification n’entraîne pas de conflits avec les classes enfants. Vous pouvez utiliser cet indicateur lors de l’ajout d’une nouvelle propriété à une classe de base qui n’a pas été mentionnée précédemment dans une des classes enfants. Si la classe a des instances, la mise à jour échoue. Si la classe a des instances, la mise à jour échoue.

WbemChangeFlagUpdateForceMode * * * * (64 (0x40))

Cet indicateur force les mises à jour des classes lorsque des classes enfants sont en conflit. Par exemple, cet indicateur force une mise à jour si un qualificateur de classe a été défini dans une classe enfant, et si la classe de base tente d’ajouter le même qualificateur et en conflit avec l’option existante. En mode de forçage, ce conflit serait résolu en supprimant le qualificateur en conflit dans la classe enfant. Si la classe a des instances, la mise à jour échoue.

L’utilisation du mode force pour mettre à jour une classe statique entraîne la suppression de toutes les instances de cette classe. Une mise à jour forcée sur une classe de fournisseur ne supprime pas les instances de la classe.

wbemChangeFlagCreateOrUpdate * * * * (0 (0x0))

Provoque la création de la classe ou de l’instance si elle n’existe pas ou est remplacée si elle existe déjà.

wbemChangeFlagCreateOnly * * * * (2 (0X2))

Utilisé pour la création uniquement. L’appel échoue si la classe ou l’instance existe déjà.

wbemChangeFlagUpdateOnly * * * * (1 (0x1))

Provoque la mise à jour de cet appel. La classe ou l’instance doit exister pour que l’appel réussisse.

wbemFlagReturnImmediately * * * * (16 (0x10))

Provoque le retour immédiat de l’appel.

wbemFlagReturnWhenComplete * * * * (0 (0x0))

Provoque le blocage de cet appel jusqu’à ce que la requête soit terminée.

wbemFlagUseAmendedQualifiers * * * * (131072 (0x20000))

Permet à WMI d’écrire des données de modification de classe ainsi que la définition de la classe de base. Pour plus d’informations sur les qualificateurs modifiés, consultez localisation des informations de classe WMI.

objwbemNamedValueSet [ dans, facultatif]

En général, ce n’est pas défini. Dans le cas contraire, il s’agit d’un objet SWbemObjectPath dont les éléments représentent les informations de contexte qui peuvent être utilisées par le fournisseur qui traite la requête. Un fournisseur qui prend en charge ou requiert ces informations doit documenter les noms de valeur reconnus, le type de données de la valeur, les valeurs autorisées et la sémantique.

Valeur retournée

Si l’appel réussit, un objet SWbemObjectPath est retourné. Cet objet contient le chemin d’accès à l’objet de l’instance ou de la classe qui a été correctement validée dans WMI.

Codes d’erreur

Une fois la méthode put _ terminée, l’objet Err peut contenir l’un des codes d’erreur répertoriés dans la liste suivante.

wbemErrAccessDenied -2147749891

L’utilisateur actuel n’est pas autorisé à mettre à jour une instance de la classe spécifiée.

wbemErrAlreadyExists -2147749913 (0x80041019)

L’indicateur wbemChangeFlagCreateOnly a été spécifié, mais l’instance existe déjà.

wbemErrFailed -2147749889 (0x80041001)

Erreur non spécifiée.

wbemErrIllegalNull -2147749898 (0x8004100A)

La valeur Nothing a été spécifiée pour une propriété qui ne peut pas être Nothing. Un exemple d’une telle propriété est une propriété marquée par un qualificateur de clé, indexée ou not _ null .

wbemErrInvalidObject -2147749908 (0x80041014)

L'instance spécifiée n'est pas valide.

wbemErrInvalidParameter -0x80041008

Un paramètre spécifié n’est pas valide.

wbemErrNotFound -2147749890 (0x80041002)

L’indicateur wbemChangeFlagUpdateOnly a été spécifié, mais l’instance ou la classe n’existe pas.

wbemErrIncompleteClass -2147749920 (0x80041020)

Les propriétés requises pour les classes n’ont pas toutes été définies.

wbemErrOutOfMemory -2147749894 (0x80041006)

Mémoire insuffisante pour terminer l’opération.

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Wbemdisp. h
Bibliothèque de types
Wbemdisp. tlb
DLL
Wbemdisp.dll
CLSID
CLSID _ SWbemObject
IID
IID _ ISWbemObject

Voir aussi

M

SWbemObjectPath. Class

SWbemProperty

SWbemQualifier