Metodo IPropertyDescription::FormatForDisplay (propsys.h)

Ottiene una rappresentazione stringa Unicode formattata di un valore della proprietà.

Sintassi

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

Parametri

[in] propvar

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT che contiene il tipo e il valore della proprietà.

[in] pdfFlags

Tipo: PROPDESC_FORMAT_FLAGS

Uno o più flag PROPDESC_FORMAT_FLAGS , che sono bit per bit o più valori, che indicano il formato della stringa di proprietà.

[out] ppszDisplay

Tipo: LPWSTR*

Indirizzo di un puntatore a una stringa Unicode con terminazione null contenente il testo visualizzato.

Valore restituito

Tipo: HRESULT

Restituisce uno dei valori seguenti.

Codice restituito Descrizione
S_OK
La stringa è stata copiata e terminata con null senza troncamento. Questa stringa può essere restituita vuota a causa di una stringa di input vuota o da un valore non vuoto formattato come stringa vuota.
S_FALSE
La stringa vuota deriva da un VT_EMPTY.
E_INVALIDARG
Il parametro pszText è NULL.
ERROR_INSUFFICIENT_BUFFER
L'operazione di copia non è riuscita a causa di spazio insufficiente. Il buffer di destinazione viene modificato per contenere una versione troncata del risultato ideale ed è terminata con null.

Commenti

È necessario inizializzare Component Object Model (COM) con CoInitialize o OleInitialize prima di chiamare IPropertyDescription::FormatForDisplay.

In caso di esito positivo, questo metodo ottiene una rappresentazione di stringa Unicode formattata di un valore di proprietà per una PROPRIETÀKEY specificata e una o più PROPDESC_FORMAT_FLAGS.

Lo scopo di questo metodo consiste nel convertire i dati in una stringa adatta per la visualizzazione all'utente. Il valore viene formattato in base alle impostazioni locali correnti, alla lingua dell'utente, alla PROPDESC_FORMAT_FLAGS e alla descrizione della proprietà specificata dalla chiave della proprietà. Per informazioni su come lo schema della descrizione delle proprietà influisce sulla formattazione del valore, vedere displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMAT e enumeratedList. In genere, la PROPDESC_FORMAT_FLAGS viene usata per modificare il formato previsto dalla descrizione della proprietà.

La stringa di output può contenere caratteri direzionali Unicode. Questi caratteri nonpacing influiscono sull'algoritmo bidirezionale Unicode in modo che i valori vengano visualizzati correttamente quando un linguaggio LTR (left-to-right) viene disegnato in una finestra RTL (right-to-left) e viceversa. Questi caratteri includono quanto segue: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".

Le proprietà seguenti usano formati speciali e non sono interessate dalla PROPDESC_FORMAT_FLAGS (esempi citati sono per stringhe con impostazioni locali correnti impostate su inglese; in genere, l'output viene localizzato tranne dove indicato).

Proprietà Format
System.FileAttributes Gli attributi di file seguenti vengono convertiti in lettere e accodati per creare una stringa ,ad esempio un valore di 0x1801 (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE) viene convertito in "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 Ad esempio, "ISO-400".
System.Photo.ShutterSpeed Il valore APEX viene convertito in un tempo di esposizione usando questa formula:

Exposure_time = 2^(-APEX_value)

Ad esempio, "2 sec". o "1/125 sec.".

System.Photo.ExposureTime Ad esempio, "2 sec". o "1/125 sec".
System.Photo.Aperture Il valore APEX viene convertito in un numero F usando questa formula:

F_Number = 2^(APEX_Value / 2)

Ad esempio, "f/5.6".

System.Photo.FNumber Ad esempio, "f/5.6".
System.Photo.SubjectDistance Ad esempio, "15 m" o "250 mm".
System.Photo.FocalLength Ad esempio, "50 mm".
System.Photo.Flash Energy Ad esempio, "500 bpcs".
System.Photo.ExposureBias Ad esempio, "-2 passaggio", " 0 passaggio" o "+3 passaggio".
System.Computer.DecoratedFreeSpace Ad esempio, "105 MB gratuiti di 13,2 GB".
System.ItemType Ad esempio, "Applicazione" o "Immagine JPEG".
System.ComputerName Ad esempio, "LITWARE05 (questo computer)" o "testbox07".

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione propsys.h

Vedi anche

IPropertyDescription

Schema Descrizione proprietà