Partager via


Méthode IPropertyStorage ::WritePropertyNames (propidlbase.h)

La méthode WritePropertyNames affecte des noms de chaîne IPropertyStorage à un tableau spécifié d’ID de propriété dans le jeu de propriétés actuel.

Syntaxe

HRESULT WritePropertyNames(
  [in] ULONG             cpropid,
  [in] const PROPID []   rgpropid,
  [in] const LPOLESTR [] rglpwstrName
);

Paramètres

[in] cpropid

Taille de l’entrée du tableau rgpropid. Ne peut pas être égal à zéro. Toutefois, en la rendant nulle, cette méthode devient non opérationnelle.

[in] rgpropid

Tableau des ID de propriété pour lesquels les noms doivent être définis.

[in] rglpwstrName

Tableau de nouveaux noms à affecter aux ID de propriété correspondants dans le tableau rgpropid . Ces noms ne peuvent pas dépasser 255 caractères (sans la marque de fin NULL ).

Valeur retournée

Cette méthode prend en charge la valeur de retour standard E_UNEXPECTED, en plus des éléments suivants :

Remarques

Pour plus d’informations sur les jeux de propriétés et la gestion de la mémoire, consultez Gestion des jeux de propriétés.

IPropertyStorage ::WritePropertyNames affecte des noms de chaîne aux ID de propriété passés à la méthode dans le tableau rgpropid . Il associe chaque nom de chaîne dans le tableau rglpwstrName à l’ID de propriété respectif dans rgpropid. Il est explicitement valide de définir un nom pour un ID de propriété qui n’est pas présent actuellement dans l’objet de stockage de propriété.

Il est également valide de modifier le mappage d’un nom de chaîne existant (déterminé par une correspondance ne respectant pas la casse). Autrement dit, vous pouvez utiliser la méthode WritePropertyNames pour mapper un nom existant à un nouvel ID de propriété, ou pour mapper un nouveau nom à un ID de propriété qui a déjà un nom dans le dictionnaire. Dans les deux cas, le mappage d’origine est supprimé. Les noms de propriétés doivent être uniques (tout comme les ID de propriété) dans le jeu de propriétés.

Le stockage des noms de propriétés de chaîne conserve la casse. À moins que PROPSETFLAG_CASE_SENSITIVE ne soit passé à IPropertySetStorage ::Create, les noms des jeux de propriétés ne respectent pas la casse par défaut. Avec les jeux de propriétés qui ne respectent pas la casse, les chaînes de nom passées par l’appelant sont interprétées en fonction des paramètres régionaux du jeu de propriétés, comme spécifié par la propriété PID_LOCALE . Si le jeu de propriétés n’a pas de propriété de paramètres régionaux, l’utilisateur actuel est supposé par défaut. Les noms de propriétés de chaîne sont limités à 128 caractères. Les noms de propriétés qui commencent par les caractères Unicode binaires 0x0001 par 0x001F sont réservés pour une utilisation ultérieure.

Si la valeur d’un élément dans le paramètre de tableau rgpropid est définie sur 0xffffffff (PID_ILLEGAL), le nom correspondant est ignoré par IPropertyStorage ::WritePropertyNames. Par exemple, si cette méthode est appelée avec un paramètre cpropid de 3, mais que le premier élément du tableau, rgpropid[1], est défini sur PID_ILLEGAL, seuls deux noms de propriétés sont écrits. L’élément rgpropid[1] est ignoré.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête propidlbase.h (inclure Objbase.h, Propidlbase.h)
Bibliothèque Uuid.lib
DLL Ole32.dll

Voir aussi

IPropertyStorage

IPropertyStorage ::ReadMultiple

IPropertyStorage ::ReadPropertyNames

IPropertyStorage ::WriteMultiple

Exemples

Exemple WriteRead