IPropertySystem::FormatForDisplay-Methode (propsys.h)
Ruft eine formatierte Unicode-Zeichenfolgendarstellung eines Eigenschaftswerts ab.
Syntax
HRESULT FormatForDisplay(
[in] REFPROPERTYKEY key,
[in] REFPROPVARIANT propvar,
[in] PROPDESC_FORMAT_FLAGS pdff,
[out] LPWSTR pszText,
[in] DWORD cchText
);
Parameter
[in] key
Typ: REFPROPERTYKEY
Ein Verweis auf den angeforderten Eigenschaftenschlüssel.
[in] propvar
Typ: REFPROPVARIANT
Ein Verweis auf eine PROPVARIANT-Struktur , die den Typ und den Wert der Eigenschaft enthält.
[in] pdff
Das Format der Eigenschaftenzeichenfolge. Mögliche Werte finden Sie unter PROPDESC_FORMAT_FLAGS .
[out] pszText
Typ: LPWSTR
Empfängt den formatierten Wert als mit NULL endende Unicode-Zeichenfolge. Die aufrufende Anwendung muss Arbeitsspeicher für den Puffer zuweisen.
[in] cchText
Art: DWORD
Die Länge des Puffers bei pszText in WCHARs, einschließlich der endenden NULL. Die maximale Größe beträgt 0x8000 (32K).
Rückgabewert
Typ: HRESULT
Gibt einen der folgenden Werte zurück.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Formatierte Zeichenfolge wird erstellt. |
|
Die formatierte Zeichenfolge wird nicht erstellt. S_FALSE gibt an, dass die leere Zeichenfolge aus einer VT_EMPTY resultierte. |
|
Die Speicherbelegung hat einen Fehler erzeugt. |
Hinweise
Sie müssen component object Model (COM) mit CoInitialize oder OleInitialize initialisieren, bevor Sie IPropertySystem::FormatForDisplay aufrufen.
Wenn sie erfolgreich ist, ruft diese Methode eine formatierte Unicode-Zeichenfolgendarstellung eines Eigenschaftswerts für einen angegebenen PROPERTYKEY und eine oder mehrere PROPDESC_FORMAT_FLAGS ab. Wenn propertykey vom Schemasubsystem nicht erkannt wird, versucht IPropertySystem::FormatForDisplay , den Wert entsprechend seinem VARTYPE zu formatieren.
Der Zweck dieser Methode besteht darin, Daten in eine Zeichenfolge zu konvertieren, die für die Anzeige für den Benutzer geeignet ist. Der Wert wird entsprechend dem aktuellen Gebietsschema, der Sprache des Benutzers, dem PROPDESC_FORMAT_FLAGS und der durch den Eigenschaftenschlüssel angegebenen Eigenschaftenbeschreibung formatiert. Informationen dazu, wie das Eigenschaftenbeschreibungsschema die Formatierung des Werts beeinflusst, finden Sie unter displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMAT und enumeratedList. In der Regel werden die PROPDESC_FORMAT_FLAGS verwendet, um das in der Eigenschaftenbeschreibung vorgeschriebene Format zu ändern.
Die Ausgabezeichenfolge kann Unicode-Richtungszeichen enthalten. Diese Nicht-Zeichen beeinflussen den bidirektionalen Unicode-Algorithmus, sodass die Werte korrekt angezeigt werden, wenn eine Sprache von links nach rechts (LTR) in einem Rechts-nach-Links-Fenster (RTL) gezeichnet wird und umgekehrt. Diese Zeichen enthalten Folgendes: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".
Die Eigenschaften in der folgenden Tabelle verwenden spezielle Formate und sind vom PROPDESC_FORMAT_FLAGS nicht betroffen (beispiele für Zeichenfolgen mit einem aktuellen Gebietsschema, das auf Englisch festgelegt ist; in der Regel wird die Ausgabe lokalisiert, sofern nicht angegeben).
Eigenschaft | Format |
---|---|
System.FileAttributes | Die folgenden Dateiattribute werden in Buchstaben konvertiert und angefügt, um eine Zeichenfolge zu erstellen (z. B. der Wert 0x1801 (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE) wird in "RCO" konvertiert):
|
System.Photo.ISOSpeed | Beispiel: "ISO-400". |
System.Photo.ShutterSpeed |
Der APEX-Wert wird mit dieser Formel in eine Belichtungszeit konvertiert:
Beispiel: "2 Sekunden". oder "1/125 Sek.". |
System.Photo.ExposureTime | Beispiel: "2 Sekunden". oder "1/125 Sekunde". |
System.Photo.Aperture |
Der APEX-Wert wird mithilfe dieser Formel in eine F-Zahl konvertiert:
Beispiel: "f/5.6". |
System.Photo.FNumber | Beispiel: "f/5.6". |
System.Photo.SubjectDistance | Beispiel: "15 m" oder "250 mm". |
System.Photo.FocalLength | Beispiel: "50 mm". |
System.Photo.FlashEnergy | Beispiel: "500 bpcs". |
System.Photo.ExposureBias | Beispiel: "-2 Schritt", "0 Schritt" oder "+3 Schritt". |
System.Computer.DecoratedFreeSpace | Beispiel: "105 MB frei von 13,2 GB". |
System.ItemType | Beispiel: "Anwendung" oder "JPEG-Bild". |
System.ControlPanel.Category | Beispiel: "Darstellung und Personalisierung". |
System.ComputerName | Beispiel: "LITWARE05 (dieser Computer)" oder "testbox07". |
Wenn der Eigenschaftenschlüssel keiner Eigenschaftsbeschreibung in einem der registrierten Eigenschaftenschemas entspricht, wählt diese Methode ein Format basierend auf dem Typ des Werts aus, wie in der folgenden Tabelle beschrieben.
Typ des Werts | Format |
---|---|
VT_BOOLEAN | Wird nicht unterstützt. |
VT_FILETIME | Datums-/Uhrzeitzeichenfolge, wie durch PROPDESC_FORMAT_FLAGS und das aktuelle Gebietsschema angegeben. PDFF_SHORTTIME und PDFF_SHORTDATE sind die Standardeinstellung. Beispiel: "13.11.2006 15:22". |
Numerischer VARTYPE | Dezimalzeichenfolge im aktuellen Gebietsschema. Beispiel: "42". |
VT_LPWSTR oder andere | Eine Zeichenfolge. Sequenzen von "\r", "\t" oder "\n" werden durch ein einzelnes Leerzeichen ersetzt. |
VT_VECTOR | Etwas | Durch Semikolon getrennte Werte– ein Semikolon wird unabhängig vom Gebietsschema verwendet. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | propsys.h |
Verteilbare Komponente | Windows Desktop Search (WDS) 3.0 |