Partager via


Méthode IPropertyDescription ::FormatForDisplay (propsys.h)

Obtient une représentation de chaîne Unicode mise en forme d’une valeur de propriété.

Syntaxe

HRESULT FormatForDisplay(
  [in]  REFPROPVARIANT        propvar,
  [in]  PROPDESC_FORMAT_FLAGS pdfFlags,
  [out] LPWSTR                *ppszDisplay
);

Paramètres

[in] propvar

Type : REFPROPVARIANT

Référence à une structure PROPVARIANT qui contient le type et la valeur de la propriété.

[in] pdfFlags

Type : PROPDESC_FORMAT_FLAGS

Un ou plusieurs indicateurs de PROPDESC_FORMAT_FLAGS , qui sont au niveau du bit ou plusieurs valeurs, qui indiquent le format de chaîne de propriété.

[out] ppszDisplay

Type : LPWSTR*

Adresse d’un pointeur vers une chaîne Unicode terminée par null qui contient le texte affiché.

Valeur retournée

Type : HRESULT

Retourne l’une des valeurs suivantes.

Code de retour Description
S_OK
La chaîne a été copiée et terminée par null sans troncation. Cette chaîne peut être retournée vide en raison d’une chaîne d’entrée vide ou d’une valeur non vide qui a été mise en forme en tant que chaîne vide.
S_FALSE
La chaîne vide a été le résultat d’une VT_EMPTY.
E_INVALIDARG
Le paramètre pszText est NULL.
ERROR_INSUFFICIENT_BUFFER
L’opération de copie a échoué en raison d’un espace insuffisant. La mémoire tampon de destination est modifiée pour contenir une version tronquée du résultat idéal et est terminée par null.

Remarques

Vous devez initialiser le modèle d’objet de composant (COM) avec CoInitialize ou OleInitialize avant d’appeler IPropertyDescription ::FormatForDisplay.

En cas de réussite, cette méthode obtient une représentation de chaîne Unicode mise en forme d’une valeur de propriété pour un PROPERTYKEY spécifié et une ou plusieurs PROPDESC_FORMAT_FLAGS.

L’objectif de cette méthode est de convertir des données en une chaîne adaptée à l’affichage pour l’utilisateur. La valeur est mise en forme en fonction des paramètres régionaux actuels, de la langue de l’utilisateur, du PROPDESC_FORMAT_FLAGS et de la description de la propriété spécifiée par la clé de propriété. Pour plus d’informations sur la façon dont le schéma de description de propriété influence la mise en forme de la valeur, consultez displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMAT et enumeratedList. En règle générale, les PROPDESC_FORMAT_FLAGS sont utilisés pour modifier le format prescrit par la description de la propriété.

La chaîne de sortie peut contenir des caractères directionnels Unicode. Ces caractères non espacés influencent l’algorithme bidirectionnel Unicode de sorte que les valeurs apparaissent correctement lorsqu’une langue de gauche à droite (LTR) est dessinée dans une fenêtre RTL (droite à gauche), et vice versa. Ces caractères sont les suivants : "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".

Les propriétés suivantes utilisent des formats spéciaux et ne sont pas affectées par les PROPDESC_FORMAT_FLAGS (les exemples cités concernent les chaînes dont les paramètres régionaux actuels sont définis sur l’anglais ; généralement, la sortie est localisée, sauf indication contraire).

Propriété Format
System.FileAttributes Les attributs de fichier suivants sont convertis en lettres et ajoutés pour créer une chaîne (par exemple, une valeur de 0x1801 (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE) est converti en « RCO ») :
  • FILE_ATTRIBUTE_READONLY (0x00000001) - 'R'
  • FILE_ATTRIBUTE_SYSTEM (0x00000004) - 'S'
  • FILE_ATTRIBUTE_ARCHIVE (0x00000020) -'A'
  • FILE_ATTRIBUTE_COMPRESSED (0x00000800) - 'C'
  • FILE_ATTRIBUTE_ENCRYPTED (0x00004000) - 'E'
  • FILE_ATTRIBUTE_OFFLINE (0x00001000) - 'O'
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED (0x00002000) - 'I'
System.Photo.ISOSpeed Par exemple, « ISO-400 ».
System.Photo.ShutterSpeed La valeur APEX est convertie en temps d’exposition à l’aide de la formule suivante :

Exposure_time = 2^(-APEX_value)

Par exemple, « 2 secondes ». ou « 1/125 s ».

System.Photo.ExposureTime Par exemple, « 2 secondes ». ou « 1/125 s ».
System.Photo.Aperture La valeur APEX est convertie en nombre F à l’aide de la formule suivante :

F_Number = 2^(APEX_Value / 2)

Par exemple, « f/5.6 ».

System.Photo.FNumber Par exemple, « f/5.6 ».
System.Photo.SubjectDistance Par exemple, « 15 m » ou « 250 mm ».
System.Photo.FocalLength Par exemple, « 50 mm ».
System.Photo.FlashEnergy Par exemple, « 500 bpcs ».
System.Photo.ExposureBias Par exemple, « -2 étape », « 0 étape » ou « +3 étape ».
System.Computer.DecoratedFreeSpace Par exemple, « 105 Mo libres de 13,2 Go ».
System.ItemType Par exemple, « Application » ou « Image JPEG ».
System.ComputerName Par exemple, « LITWARE05 (cet ordinateur) » ou « testbox07 ».

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête propsys.h

Voir aussi

IPropertyDescription

Schéma de description de propriété