Metode IPropertyDescription::FormatForDisplay (propsys.h)

Mendapatkan representasi string Unicode yang diformat dari nilai properti.

Sintaks

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

Parameter

[in] propvar

Jenis: REFPROPVARIANT

Referensi ke struktur PROPVARIANT yang berisi jenis dan nilai properti.

[in] pdfFlags

Jenis: PROPDESC_FORMAT_FLAGS

Satu atau beberapa bendera PROPDESC_FORMAT_FLAGS , yang berupa bitwise atau beberapa nilai, yang menunjukkan format string properti.

[out] ppszDisplay

Jenis: LPWSTR*

Alamat penunjuk ke string Unicode yang dihentikan null yang berisi teks tampilan.

Nilai kembali

Jenis: HRESULT

Mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
S_OK
String disalin dan dihentikan null tanpa pemotokan. String ini dapat dikembalikan kosong karena string input kosong atau dari nilai tidak kosong yang diformat sebagai string kosong.
S_FALSE
String kosong dihasilkan dari VT_EMPTY.
E_INVALIDARG
Parameter pszText adalah NULL.
ERROR_INSUFFICIENT_BUFFER
Operasi salin gagal karena ruang yang tidak mencukupi. Buffer tujuan dimodifikasi untuk berisi versi terpotok dari hasil ideal dan dihentikan null.

Keterangan

Anda harus menginisialisasi Model Objek Komponen (COM) dengan CoInitialize atau OleInitialize sebelum memanggil IPropertyDescription::FormatForDisplay.

Setelah berhasil, metode ini mendapatkan representasi string Unicode yang diformat dari nilai properti untuk PROPERTYKEY tertentu, dan satu atau beberapa PROPDESC_FORMAT_FLAGS.

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 dapat berisi karakter arah Unicode. Karakter nonspacing ini memengaruhi algoritma dua arah Unicode sehingga nilai muncul dengan benar saat bahasa kiri-ke-kanan (LTR) digambar ke jendela kanan-ke-kiri (RTL), dan sebaliknya. Karakter-karakter ini mencakup yang berikut ini: "\x200e", "\x200f", "\x202a", "\x202b", "\x202c", "\x202d", "\x202e".

Properti 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"):
  • 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 Misalnya, "ISO-400".
System.Photo.ShutterSpeed Nilai APEX dikonversi ke waktu pencahayaan menggunakan rumus ini:

Exposure_time = 2^(-APEX_value)

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:

F_Number = 2^(APEX_Value / 2)

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.ComputerName Misalnya, "LITWARE05 (komputer ini)" atau "testbox07".

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

Lihat juga

IPropertyDescription

Skema Deskripsi Properti