Fungsi PropVariantToInt32WithDefault (propvarutil.h)

Mengekstrak nilai Int32 dari struktur PROPVARIANT . Jika saat ini tidak ada nilai, maka nilai default yang ditentukan dikembalikan.

Sintaks

PSSTDAPI_(LONG) PropVariantToInt32WithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] LONG           lDefault
);

Parameter

[in] propvarIn

Jenis: REFPROPVARIANT

Referensi ke struktur PROPVARIANT sumber.

[in] lDefault

Jenis: LONG

Menentukan nilai properti default, untuk digunakan di mana saat ini tidak ada nilai.

Nilai kembali

Jenis: LONG

Mengembalikan nilai LONG yang diekstrak, atau default.

Keterangan

Fungsi pembantu ini digunakan di tempat-tempat di mana aplikasi panggilan mengharapkan PROPVARIANT untuk menyimpan nilai LONG dan ingin menggunakan nilai default jika tidak. Misalnya, aplikasi yang mendapatkan nilai dari penyimpanan properti dapat menggunakan ini untuk mengekstrak nilai LONG dengan aman untuk properti Int32 .

Jika SUMBER PROPVARIANT memiliki jenis VT_I4, fungsi pembantu ini mengekstrak nilai LONG . Jika tidak, ia mencoba untuk mengonversi nilai dalam struktur PROPVARIANT menjadi LONG. Jika PROPVARIANT sumber memiliki jenis VT_EMPTY atau konversi tidak dimungkinkan, maka PropVariantToInt32WithDefault akan mengembalikan default yang disediakan oleh lDefault. Lihat PropVariantChangeType untuk daftar kemungkinan konversi.

Contoh

Contoh berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan PropVariantToInt32WithDefault untuk mengakses nilai LONG dalam PROPVARIANT.

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_FlagStatus, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_FlagStatus is expected to produce a VT_I4 or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as 0
     LONG iStatus = PropVariantToInt32WithDefault(propvar, 0);
     // iStatus is now valid.
     PropVariantClear(&propvar);
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP dengan SP2, Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 dengan SP1 [hanya aplikasi desktop]
Target Platform Windows
Header propvarutil.h
Pustaka Propsys.lib
DLL Propsys.dll (versi 6.0 atau yang lebih baru)
Redistribusi Windows Desktop Search (WDS) 3.0

Lihat juga

InitPropVariantFromInt32

PropVariantChangeType

PropVariantToInt32

VariantToInt32