Partager via


Méthode IPropertyStore ::SetValue (propsys.h)

Cette méthode définit une valeur de propriété ou remplace ou supprime une valeur existante.

Syntaxe

HRESULT SetValue(
  REFPROPERTYKEY key,
  REFPROPVARIANT propvar
);

Paramètres

key

TBD

propvar

TBD

Valeur retournée

La IPropertyStore::SetValue méthode peut retourner l’un des éléments suivants :

Code de retour Description
S_OK
La modification de propriété a réussi.
INPLACE_S_TRUNCATED
La valeur a été définie mais tronquée.
STG_E_ACCESSDENIED
Il s’agit d’un code d’erreur. Le magasin de propriétés étant en lecture seule, la méthode n’a pas pu définir la valeur.

Remarques

IPropertyStore::SetValueaffecte le magasin de propriétés actuel instance uniquement. Un gestionnaire de propriétés implémente en accumulant les IPropertyStore::SetValue modifications de propriété dans une structure de données en mémoire. Les modifications de propriété sont écrites dans le flux uniquement lorsque IPropertyStore ::Commit est appelé.

Si IPropertyStore ::Commit est appelé dans un magasin de propriétés en lecture seule, le gestionnaire de propriétés le détermine et retourne STG_E_ACCESSDENIED.

Si une valeur a été ajoutée ou supprimée à la suite de SetValue, les énumérations suivantes par IPropertyStore ::GetCount et IPropertyStore ::GetAt reflètent cette modification et les appels suivants pour IPropertyStore::SetValue refléter la valeur modifiée.

Ajout d’une nouvelle propriété

Si la valeur de propriété pointée par la clé n’existe pas dans le magasin, IPropertyStore::SetValue ajoute la valeur au magasin.

Remplacement d’une valeur de propriété existante

Si la valeur de propriété pointée par la clé existe déjà dans le magasin, la valeur stockée est remplacée.

Suppression d’une propriété existante

Pour supprimer une valeur du magasin de propriétés, définissez le membre vt de la structure vers laquelle pv pointe sur VT_EMPTY. Si cette valeur n’est pas présente, ne faites rien et la méthode retourne S_OK.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible avec Windows Vista et versions ultérieures du système d’exploitation Windows.
Plateforme cible Universal
En-tête propsys.h
Bibliothèque Propsys.idl
IRQL Tous les niveaux

Voir aussi

Ipropertystore

IPropertyStore ::Commit

IPropertyStore ::GetAt

IPropertyStore ::GetCount