Fungsi PropVariantToInt32Vector (propvarutil.h)
Mengekstrak vektor nilai panjang dari struktur PROPVARIANT .
Sintaks
PSSTDAPI PropVariantToInt32Vector(
[in] REFPROPVARIANT propvar,
[out] LONG *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parameter
[in] propvar
Jenis: REFPROPVARIANT
Referensi ke struktur PROPVARIANT sumber.
[out] prgn
Jenis: LONG*
Menunjuk ke buffer yang berisi nilai crgnLONG . Ketika fungsi ini kembali, buffer telah diinisialisasi dengan elemen pcElemLONG yang diekstrak dari SUMBER PROPVARIANT.
[in] crgn
Jenis: ULONG
Ukuran buffer yang diacu oleh prgn dalam elemen.
[out] pcElem
Jenis: ULONG*
Ketika fungsi ini kembali, berisi jumlah elemen LONG yang diekstrak dari struktur PROPVARIANT sumber.
Nilai kembali
Jenis: HRESULT
Fungsi ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Mengembalikan S_OK jika berhasil, atau nilai kesalahan sebaliknya. |
|
PROPVARIANT sumber berisi lebih dari nilai crgn. Buffer diacu oleh prgn. |
|
PROPVARIANT bukan tipe yang sesuai. |
Keterangan
Fungsi pembantu ini digunakan di tempat-tempat di mana aplikasi panggilan mengharapkan PROPVARIANT untuk menyimpan vektor nilai LONG dengan jumlah elemen tetap.
Jika sumber PROPVARIANT memiliki jenis VT_VECTOR | VT_I4 atau VT_ARRAY | VT_I4, fungsi pembantu ini mengekstrak hingga nilai crgnLONG dan menempatkannya ke dalam buffer yang ditunjukkan oleh prgn. Jika PROPVARIANT berisi lebih banyak elemen daripada yang akan masuk ke dalam buffer prgn , fungsi ini mengembalikan kesalahan dan mengatur pcElem ke 0.
Contoh
Contoh berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan PropVariantToInt32Vector untuk mengakses nilai vektor Int32 dalam PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
LONG rgLongs[4]; // The application is expecting propvar to hold 4 LONGs in a vector
ULONG cElems;
HRESULT hr = PropVariantToInt32Vector(propvar, rgLongs, ARRAYSIZE(rgLongs), &cElems);
if (SUCCEEDED(hr))
{
if (cElems == ARRAYSIZE(rgLongs))
{
// The application got 4 LONGs which are now stored in rgLongs
}
else
{
// The application got cElems which are stored in the first cElems elements of rgLongs
}
}
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
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