SWbemServicesEx. put, méthode

La méthode put de l’objet SWbemServicesEx enregistre l’objet dans l’espace de noms lié à l’objet et retourne un objet SWbemObjectPath qui contient le chemin d’accès de l’objet dans lequel les données ont été écrites.

Cette méthode est appelée en mode semi-synchrone. Pour plus d’informations, consultez appel d’une méthode.

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

Syntaxe

objObjectPath = .Put( _
  ByVal objWbemObject, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ] _
)

Paramètres

objWbemObject

Obligatoire. Nouvel objet à placer dans l’espace de noms. Il peut s’agir d’un objet nouvellement créé ou d’un objet modifié.

IFlags [ facultatif]

Ce paramètre détermine si l’appel crée ou met à jour l’objet 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 ne concerne que 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, lorsque 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.

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 en conflit avec l’identificateur existant. En mode forcé, ce conflit est 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 de 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 si elle 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))

Fait en sorte que cet appel effectue uniquement une mise à jour. 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))

Entraîne le blocage de cet appel jusqu’à ce que l’opération soit terminée. Cet indicateur appelle la méthode en mode synchrone.

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, consultez localisation des informations de classe WMI.

objWbemNamedValueSet [ facultatif]

En général, ce n’est pas défini. Dans le cas contraire, il s’agit d’un objet SWbemNamedValueSet dont les éléments représentent les informations de contexte qui peuvent être utilisées par le fournisseur qui sert la demande. 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 (0x80041003)

L’utilisateur actuel n’a pas l’autorisation pour l’opération.

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 null a été spécifiée pour une propriété qui ne peut pas être null. 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’objet spécifié n’est pas valide.

wbemErrInvalidParameter -2147749896 (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 _ ISWbemServicesEx
IID
IID _ ISWbemServicesEx