Bagikan melalui


Fungsi PropVariantGetElem (propvarutil.h)

Menginisialisasi struktur PROPVARIANT berdasarkan elemen tertentu dalam struktur PROPVARIANT lain.

Sintaks

HRESULT PropVariantGetElem(
  [in]  REFPROPVARIANT propvarIn,
  [in]  ULONG          iElem,
  [out] PROPVARIANT    *ppropvar
);

Parameter

[in] propvarIn

Jenis: REFPROPVARIANT

Referensi ke struktur PROPVARIANT sumber.

[in] iElem

Jenis: ULONG

Indeks elemen struktur PROPVARIANT di propvarIn.

[out] ppropvar

Jenis: PROPVARIANT*

Ketika fungsi ini kembali, berisi PROPVARIANT dengan nilai yang ditentukan dari struktur PROPVARIANT sumber.

Menampilkan nilai

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_BOOL
  • VT_I2
  • VT_I4
  • VT_I8
  • VT_U12
  • VT_U14
  • VT_U18
  • VT_FILETIME
  • VT_VECTOR | (salah satu dari VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
  • VT_ARRAY | (salah satu dari VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Jenis tambahan mungkin didukung di masa mendatang.

Ini adalah fungsi sebaris, dengan kode sumbernya disediakan di header . Ini tidak termasuk dalam file .dll atau .lib.

Fungsi ini mengekstrak nilai tunggal dari struktur PROPVARIANT sumber dan menggunakan nilai tersebut untuk menginisialisasi struktur PROPVARIANT output. Aplikasi panggilan harus menggunakan PropVariantClear untuk membebaskan PROPVARIANT yang disebut oleh ppropvar ketika tidak lagi diperlukan.

Jika PROPVARIANT sumber adalah vektor atau array, iElem harus kurang dari jumlah elemen dalam vektor atau array.

Jika SUMBER PROPVARIANT hanya memiliki satu nilai, iElem harus 0.

Jika SUMBER PROPVARIANT kosong, fungsi ini selalu mengembalikan kode kesalahan.

Catatan Anda dapat menggunakan PropVariantGetElementCount untuk mendapatkan jumlah elemen dalam vektor atau array.
 

Contoh

Contoh kode berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan PropVariantGetElem dalam pernyataan perulangan untuk mengakses nilai di PROPVARIANT.

// PROPVARIANT propvar;
// Assume propvar is initialized and valid.

UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;

for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
   <xref rid="_stg_propvariant"/>propvarElem = {0};
    
    hr = PropVariantGetElem(propvar, iElem, &propvarElem);

    if (SUCCEEDED(hr))
    {
        // propvarElem is valid now.
        PropVariantClear(&propvarElem);
    }
}

Persyaratan

   
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
Redistribusi Windows Desktop Search (WDS) 3.0

Lihat juga

InitPropVariantFromPropVariantVectorElem