Fungsi PropVariantToInt32 (propvarutil.h)

Mengekstrak nilai properti Int32 dari struktur PROPVARIANT . Jika tidak ada nilai yang dapat diekstrak, maka nilai default ditetapkan.

Sintaks

PSSTDAPI PropVariantToInt32(
  [in]  REFPROPVARIANT propvarIn,
  [out] LONG           *plRet
);

Parameter

[in] propvarIn

Jenis: REFPROPVARIANT

Referensi ke struktur PROPVARIANT sumber.

[out] plRet

Jenis: LONG*

Ketika fungsi ini kembali, berisi nilai yang diekstrak jika ada; jika tidak, 0.

Nilai kembali

Jenis: HRESULT

Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

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

Jika PROPVARIANT sumber memiliki jenis VT_I4, fungsi pembantu ini mengekstrak nilai panjang . Jika tidak, ia mencoba untuk mengonversi nilai dalam struktur PROPVARIANT menjadi panjang. Jika konversi tidak memungkinkan, PropVariantToInt32 akan mengembalikan kode kegagalan dan mengatur plRet ke 0. Lihat PropVariantChangeType untuk daftar kemungkinan konversi. Dari catatan, VT_EMPTY berhasil dikonversi ke 0.

Contoh

// 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.

     // PropVariantToInt32 will convert VT_EMPTY to 0.

     INT32 iStatus;

     hr = PropVariantToInt32(propvar, &iStatus);

     if (SUCCEEDED(hr))

     {

             // iStatus is now valid

     }

     else

     {

             // iStatus is always 0

     }

     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

PropVariantToInt32Vector

VariantToInt32