Metode IPropertySystem::FormatForDisplay (propsys.h)
Mendapatkan representasi string Unicode yang diformat dari nilai properti.
Sintaks
HRESULT FormatForDisplay(
[in] REFPROPERTYKEY key,
[in] REFPROPVARIANT propvar,
[in] PROPDESC_FORMAT_FLAGS pdff,
[out] LPWSTR pszText,
[in] DWORD cchText
);
Parameter
[in] key
Jenis: REFPROPERTYKEY
Referensi ke kunci properti yang diminta.
[in] propvar
Jenis: REFPROPVARIANT
Referensi ke struktur PROPVARIANT yang berisi jenis dan nilai properti.
[in] pdff
Jenis: PROPDESC_FORMAT_FLAGS
Format string properti. Lihat PROPDESC_FORMAT_FLAGS untuk nilai yang mungkin.
[out] pszText
Jenis: LPWSTR
Menerima nilai yang diformat sebagai string Unicode yang dihentikan null. Aplikasi panggilan harus mengalokasikan memori untuk buffer.
[in] cchText
Jenis: DWORD
Panjang buffer pada pszText di WCHARs, termasuk NULL yang mengakhiri. Ukuran maksimum adalah 0x8000 (32K).
Mengembalikan nilai
Jenis: HRESULT
Mengembalikan salah satu nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
String yang diformat dibuat. |
|
String yang diformat tidak dibuat. S_FALSE menunjukkan bahwa string kosong dihasilkan dari VT_EMPTY. |
|
Alokasi memori gagal. |
Keterangan
Anda harus menginisialisasi Model Objek Komponen (COM) dengan CoInitialize atau OleInitialize sebelum memanggil IPropertySystem::FormatForDisplay.
Ketika berhasil, metode ini mendapatkan representasi string Unicode yang diformat dari nilai properti untuk PROPERTYKEY tertentu, dan satu atau beberapa PROPDESC_FORMAT_FLAGS. Jika PROPERTYKEY tidak dikenali oleh subsistem skema, IPropertySystem::FormatForDisplay mencoba memformat nilai sesuai dengan VARTYPE-nya.
Tujuan dari metode ini adalah untuk mengonversi data menjadi string yang cocok untuk ditampilkan kepada pengguna. Nilai diformat sesuai dengan lokal saat ini, bahasa pengguna, PROPDESC_FORMAT_FLAGS, dan deskripsi properti yang ditentukan oleh kunci properti. Untuk informasi tentang bagaimana skema deskripsi properti memengaruhi pemformatan nilai, lihat displayInfo, stringFormat, booleanFormat, numberFormat, NMDATETIMEFORMAT, dan enumeratedList. Biasanya, PROPDESC_FORMAT_FLAGS digunakan untuk memodifikasi format yang ditentukan oleh deskripsi properti.
String output mungkin berisi karakter arah Unicode. Karakter nonspacing ini memengaruhi algoritma dua arah Unicode sehingga nilai muncul dengan benar saat bahasa kiri-ke-kanan (LTR) digambar pada jendela kanan-ke-kiri (RTL), dan sebaliknya. Karakter-karakter ini mencakup yang berikut ini: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".
Properti dalam tabel berikut menggunakan format khusus dan tidak terpengaruh oleh PROPDESC_FORMAT_FLAGS (contoh yang dikutip adalah untuk string dengan lokal saat ini yang diatur ke bahasa Inggris; biasanya, output dilokalkan kecuali jika disebutkan).
Properti | Format |
---|---|
System.FileAttributes | Atribut file berikut dikonversi menjadi huruf dan ditambahkan untuk membuat string (misalnya, nilai 0x1801 (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_COMPRESSED | FILE_ATTRIBUTE_OFFLINE) dikonversi ke "RCO"):
|
System.Photo.ISOSpeed | Misalnya, "ISO-400". |
System.Photo.ShutterSpeed |
Nilai APEX dikonversi ke waktu pencahayaan menggunakan rumus ini:
Misalnya, "2 detik." atau "1/125 detik.". |
System.Photo.ExposureTime | Misalnya, "2 detik." atau "1/125 detik." |
System.Photo.Aperture |
Nilai APEX dikonversi ke angka F menggunakan rumus ini:
Misalnya, "f/5.6". |
System.Photo.FNumber | Misalnya, "f/5.6". |
System.Photo.SubjectDistance | Misalnya, "15 m"atau "250 mm". |
System.Photo.FocalLength | Misalnya, "50 mm". |
System.Photo.FlashEnergy | Misalnya, "500 bpcs". |
System.Photo.ExposureBias | Misalnya, "-2 langkah", " 0 langkah", atau "+3 langkah". |
System.Computer.DecoratedFreeSpace | Misalnya, "105 MB gratis 13,2 GB". |
System.ItemType | Misalnya, "Aplikasi" atau "Gambar JPEG". |
System.ControlPanel.Category | Misalnya, "Penampilan dan Personalisasi". |
System.ComputerName | Misalnya, "LITWARE05 (komputer ini)" atau "testbox07". |
Jika kunci properti tidak sesuai dengan deskripsi properti di salah satu skema properti terdaftar, metode ini memilih format berdasarkan jenis nilai, seperti yang dijelaskan dalam tabel berikut.
Jenis nilai | Format |
---|---|
VT_BOOLEAN | Tidak didukung. |
VT_FILETIME | String tanggal/waktu seperti yang ditentukan oleh PROPDESC_FORMAT_FLAGS dan lokal saat ini. PDFF_SHORTTIME dan PDFF_SHORTDATE adalah default. Misalnya, "13/11/2006 15:22". |
VARTYPE Numerik | String desimal di lokal saat ini. Misalnya, "42". |
VT_LPWSTR atau lainnya | String. Urutan "\r", "\t", atau "\n" diganti dengan satu spasi. |
VT_VECTOR | Apa pun | Nilai yang dipisahkan titik koma—titik koma digunakan terlepas dari lokal. |
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | propsys.h |
Redistribusi | Windows Desktop Search (WDS) 3.0 |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk