Fungsi PropVariantGetStringElem (propvarutil.h)
Mengekstrak elemen string Unicode tunggal dari struktur tipe proPVARIANT VT_LPWSTR, VT_BSTR, VT_VECTOR | VT_LPWSTR, VT_VECTOR | VT_BSTR, atau VT_ARRAY | VT_BSTR.
Sintaks
PSSTDAPI PropVariantGetStringElem(
[in] REFPROPVARIANT propvar,
[in] ULONG iElem,
[out] PWSTR *ppszVal
);
Parameter
[in] propvar
Jenis: REFPROPVARIANT
Referensi ke struktur PROPVARIANT sumber.
[in] iElem
Jenis: ULONG
Indeks vektor atau array; jika tidak, iElem harus 0.
[out] ppszVal
Jenis: PWSTR*
Ketika fungsi ini kembali, berisi nilai string yang diekstrak. Aplikasi panggilan bertanggung jawab untuk membebaskan string ini dengan memanggil CoTaskMemFree ketika tidak lagi diperlukan.
Nilai kembali
Jenis: HRESULT
Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Fungsi pembantu ini berfungsi untuk struktur PROPVARIANT dari jenis berikut:
- VT_LPWSTR
- VT_BSTR
- VT_VECTOR | VT_LPWSTR
- VT_VECTOR | VT_BSTR
- VT_ARRAY | VT_BSTR
Jika elemen BSTR memiliki penunjuk NULL , fungsi ini mengalokasikan string kosong.
Contoh
Contoh kode berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan PropVariantGetStringElem dengan pernyataan iterasi untuk mengakses nilai dalam PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
if ((propvar.vt & VT_TYPEMASK) == VT_LPWSTR || (propvar.vt & VT_TYPEMASK) == VT_BSTR)
{
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
PWSTR pszValue;
hr = PropVariantGetStringElem(propvar, iElem, &pszValue);
if (SUCCEEDED(hr))
{
// pszValue is valid now
CoTaskMemFree(pszValue);
}
}
}
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 |