Méthode IPropertySystem ::FormatForDisplay (propsys.h)
Obtient une représentation sous forme de chaîne Unicode d’une valeur de propriété.
Syntaxe
HRESULT FormatForDisplay(
[in] REFPROPERTYKEY key,
[in] REFPROPVARIANT propvar,
[in] PROPDESC_FORMAT_FLAGS pdff,
[out] LPWSTR pszText,
[in] DWORD cchText
);
Paramètres
[in] key
Type : REFPROPERTYKEY
Référence à la clé de propriété demandée.
[in] propvar
Type : REFPROPVARIANT
Référence à une structure PROPVARIANT contenant le type et la valeur de la propriété .
[in] pdff
Type : PROPDESC_FORMAT_FLAGS
Format de la chaîne de propriété. Consultez PROPDESC_FORMAT_FLAGS pour connaître les valeurs possibles.
[out] pszText
Type : LPWSTR
Reçoit la valeur mise en forme sous la forme d’une chaîne Unicode terminée par un caractère Null. L’application appelante doit allouer de la mémoire tampon.
[in] cchText
Type : DWORD
Longueur de la mémoire tampon au niveau pszText dans WCHAR, y compris la valeur NULL de fin. La taille maximale est 0x8000 (32 Ko).
Valeur retournée
Type : HRESULT
Retourne l’une des valeurs suivantes.
Code de retour | Description |
---|---|
|
La chaîne mise en forme est créée. |
|
La chaîne mise en forme n’est pas créée. S_FALSE indique que la chaîne vide est le résultat d’une VT_EMPTY. |
|
L'allocation de mémoire a échoué. |
Remarques
Vous devez initialiser com (Component Object Model) avec CoInitialize ou OleInitialize avant d’appeler IPropertySystem ::FormatForDisplay.
Lorsqu’elle réussit, cette méthode obtient une représentation sous forme de chaîne Unicode d’une valeur de propriété pour un PROPERTYKEY spécifié et une ou plusieurs PROPDESC_FORMAT_FLAGS. Si propertyKEY n’est pas reconnu par le sous-système de schéma, IPropertySystem ::FormatForDisplay tente de mettre en forme la valeur en fonction de son VARTYPE.
L’objectif de cette méthode est de convertir des données en une chaîne pouvant être affichée à 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 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ées 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 du tableau suivant 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 anglais ; en général, 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 ») :
|
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 :
Par exemple, « 2 secondes ». ou « 1/125 seconde ». |
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 :
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 sans 13,2 Go ». |
System.ItemType | Par exemple, « Application » ou « Image JPEG ». |
System.ControlPanel.Category | Par exemple, « Apparence et personnalisation ». |
System.ComputerName | Par exemple, « LITWARE05 (cet ordinateur) » ou « testbox07 ». |
Si la clé de propriété ne correspond pas à une description de propriété dans l’un des schémas de propriété inscrits, cette méthode choisit un format en fonction du type de la valeur, comme décrit dans le tableau suivant.
Type de la valeur | Format |
---|---|
VT_BOOLEAN | Non pris en charge. |
VT_FILETIME | Chaîne de date/heure spécifiée par PROPDESC_FORMAT_FLAGS et les paramètres régionaux actuels. PDFF_SHORTTIME et PDFF_SHORTDATE sont les valeurs par défaut. Par exemple, « 13/11/2006 15 :22 PM ». |
VARTYPE numérique | Chaîne décimale dans les paramètres régionaux actuels. Par exemple, « 42 ». |
VT_LPWSTR ou autre | Chaîne. Les séquences de « \r », « \t » ou « \n » sont remplacées par un espace unique. |
VT_VECTOR | Rien | Valeurs séparées par des points-virgules : un point-virgule est utilisé quels que soient les paramètres régionaux. |
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 |
Composant redistribuable | Windows Desktop Search (WDS) 3.0 |