Méthode IPropertyStorage::WritePropertyNames (propidl.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 en entrée du rgpropid du tableau. Ne peut pas être égal à zéro. Toutefois, la mise à zéro entraîne l’absence de fonctionnement de cette méthode.
[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 terminaison NULL ).
Valeur retournée
Cette méthode prend en charge la valeur de retour standard E_UNEXPECTED, en plus des éléments suivants :
Notes
Pour plus d’informations sur les jeux de propriétés et la gestion de la mémoire, consultez Gestion des ensembles 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 du 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 dans l’objet de stockage de propriétés.
Il est également valide de modifier le mappage d’un nom de chaîne existant (déterminé par une correspondance qui ne respecte 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 (comme le sont les ID de propriété) dans le jeu de propriétés.
Le stockage des noms de propriétés de chaîne conserve le cas. Sauf si PROPSETFLAG_CASE_SENSITIVE est passé à IPropertySetStorage::Create, les noms des jeux de propriétés ne respectent pas la casse par défaut. Avec des jeux de propriétés qui ne respectent pas la casse, les chaînes de nom transmises 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é locale, 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 commençant par les caractères Unicode binaires 0x0001 via 0x001F sont réservés à une utilisation future.
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é sont écrits. L’élément rgpropid[1] est ignoré.
Spécifications
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 | propidl.h (inclure Objbase.h, Propidlbase.h) |
Bibliothèque | Uuid.lib |
DLL | Ole32.dll |
Voir aussi
IPropertyStorage::ReadMultiple
IPropertyStorage::ReadPropertyNames