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 ::ReadMultiple
IPropertyStorage ::ReadPropertyNames