Fonction Put
Affecte une nouvelle valeur à une propriété nommée.
Notes
Cette API est destinée à un usage interne uniquement. Elle n’est pas destinée à être utilisée dans le code du développeur.
Syntaxe
HRESULT Put (
[in] int vFunc,
[in] IWbemClassObject* ptr,
[in] LPCWSTR wszName,
[in] LONG lFlags,
[in] VARIANT* pVal,
[in] CIMTYPE vtType
);
Paramètres
vFunc
[in] Ce paramètre est inutilisé.
ptr
[in] Pointeur vers une instance IWbemClassObject.
wszName
[in] Nom de la propriété. Ce paramètre ne peut pas être null
.
lFlags
[in] Réservée. Ce paramètre doit être 0.
pVal
[in] Pointeur vers un VARIANT
valide qui devient la nouvelle valeur de propriété. Si pVal
est null
ou pointe vers un VARIANT
de type VT_NULL
, la propriété est définie sur null
.
vtType
[in] Type du VARIANT
pointé par pVal
. Pour plus d’informations, consultez la section Remarques.
Valeur retournée
Les valeurs suivantes renvoyées par cette fonction sont définies dans le fichier d’en-tête WbemCli.h, ou vous pouvez les définir comme constantes dans votre code :
Constant | Valeur | Description |
---|---|---|
WBEM_E_FAILED |
0x80041001 | Il y a eu une défaillance générale. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Un ou plusieurs paramètres ne sont pas valides. |
WBEM_E_INVALID_PROPERTY_TYPE |
0x8004102a | Le type de propriété n'est pas reconnu. Cette valeur est retournée lors de la création d’instances de classe si la classe existe déjà. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | La mémoire n'est pas suffisante pour terminer cette opération. |
WBEM_E_TYPE_MISMATCH |
0x80041005 | Pour les instances : indique que pVal pointe vers un VARIANT dont le type n’est pas valide pour la propriété. Pour les définitions de classe : la propriété existe déjà dans la classe parente et le nouveau type COM est différent de l’ancien type COM. |
WBEM_S_NO_ERROR |
0 | L’appel de fonction a abouti. |
Notes
Cette fonction wrappe un appel à la méthode IWbemClassObject::Put.
Cette fonction remplace toujours la valeur de la propriété actuelle par une nouvelle. Si IWbemClassObject pointe vers une définition de classe, Put
crée ou met à jour la valeur de la propriété. Lorsque IWbemClassObject pointe vers une instance CIM, Put
met à jour la valeur de propriété uniquement. Put
ne peut pas créer de valeur de propriété.
La propriété système __CLASS
n’est accessible en écriture que lors de la création de la classe, lorsqu’elle peut ne pas être vide. Toutes les autres propriétés système sont en lecture seule.
Un utilisateur ne peut pas créer de propriétés avec des noms qui commencent ou se terminent par un trait de soulignement (_). Cela est réservé aux classes et aux propriétés système.
Si la propriété définie par la fonction Put
existe dans la classe parente, la valeur par défaut de la propriété sera modifiée, sauf si le type de la propriété ne correspond pas au type de la classe parente. Si la propriété n’existe pas et s’il n’y a pas d’incompatibilité de types, la propriété est créée.
Utilisez le paramètre vtType
uniquement lorsque vous créez des propriétés dans une définition de classe CIM, et quand pVal
est null
ou pointe vers un VARIANT
de type VT_NULL
. Dans ce cas, le paramètre vType
spécifie le type CIM de la propriété. Dans tous les autres cas, vtType
doit avoir la valeur 0. vtType
doit également avoir la valeur 0 si l’objet sous-jacent est une instance (même si Val
est null
), car le type de la propriété est fixe et ne peut pas être modifié.
Exemple
Pour obtenir un exemple, consultez la méthode IWbemClassObject::Put.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : WMINet_Utils.idl
Versions de .NET Framework : disponibles depuis la version 4.7.2