Fungsi VariantToBuffer (propvarutil.h)
Mengekstrak konten buffer yang disimpan dalam struktur VARIAN jenis VT_ARRRAY | VT_UI1.
Sintaks
PSSTDAPI VariantToBuffer(
[in] REFVARIANT varIn,
[out] void *pv,
[in] UINT cb
);
Parameter
[in] varIn
Jenis: REFVARIANT
Referensi ke struktur VARIAN sumber.
[out] pv
Jenis: VOID*
Penunjuk ke buffer byte cb panjang. Ketika fungsi ini kembali, berisi byte cb pertama dari nilai buffer yang diekstrak.
[in] cb
Jenis: UINT
Ukuran buffer pv , dalam byte. Buffer harus berukuran sama dengan data yang akan diekstraksi, atau lebih kecil.
Nilai kembali
Jenis: HRESULT
Mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Data berhasil diekstrak. |
|
VARIAN tidak berjenis VT_ARRRAY | VT_UI1. |
|
Nilai buffer VARIAN memiliki kurang dari byte cb . |
Keterangan
Fungsi ini digunakan ketika aplikasi panggilan mengharapkan VARIAN untuk menyimpan nilai buffer. Aplikasi panggilan harus memeriksa bahwa nilai memiliki panjang yang diharapkan sebelum memanggil fungsi ini.
Jika VARIAN sumber memiliki jenis VT_ARRAY | VT_UI1, fungsi ini mengekstrak byte cb pertama dari struktur dan menempatkannya di buffer yang diacu oleh pv.
Jika nilai yang disimpan memiliki kurang dari byte cb , maka VariantToBuffer gagal dan buffer tidak dimodifikasi.
Jika nilai memiliki lebih dari cb byte, maka VariantToBuffer berhasil dan memotong nilai.
Contoh
Contoh berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan VariantToBuffer untuk mengakses struktur yang telah disimpan dalam VARIAN.
// VARIANT var;
// Assume variable var is initialized and valid.
// The application expects var to hold a WIN32_FIND_DATAW structure
// with sizeof(WIN32_FIND_DATAW) bytes.
HRESULT hr = E_UNEXPECTED;
// Verify that the value length is acceptable before you call VariantToBuffer.
if (VariantGetElementCount(var) == sizeof(WIN32_FIND_DATAW))
{
WIN32_FIND_DATAW wfd;
hr = VariantToBuffer(var, &wfd, sizeof(wfd));
if (SUCCEEDED(hr))
{
// wfd is now initialized.
}
}
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