Bagikan melalui


Fungsi InitVariantFromVariantArrayElem (propvarutil.h)

Menginisialisasi struktur VARIAN dengan nilai yang disimpan dalam struktur VARIAN lain.

Sintaks

PSSTDAPI InitVariantFromVariantArrayElem(
  [in]  REFVARIANT varIn,
  [in]  ULONG      iElem,
  [out] VARIANT    *pvar
);

Parameter

[in] varIn

Jenis: REFVARIANT

Referensi ke struktur VARIAN sumber.

[in] iElem

Jenis: ULONG

Indeks salah satu elemen struktur VARIAN sumber.

[out] pvar

Jenis: VARIAN*

Ketika fungsi ini kembali, berisi struktur VARIAN yang diinisialisasi.

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 VARIAN dari jenis berikut:

  • VT_BSTR
  • VT_BOOL
  • VT_I2
  • VT_I4
  • VT_I8
  • VT_U12
  • VT_U14
  • VT_U18
  • VT_DATE
  • VT_ARRAY | (salah satu dari VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_DATE)
Jenis tambahan mungkin didukung di masa mendatang.

Fungsi ini mengekstrak nilai tunggal dari struktur VARIAN sumber dan menggunakan nilai tersebut untuk menginisialisasi struktur VARIAN output. Aplikasi panggilan harus menggunakan VariantClear untuk membebaskan VARIAN yang disebutkan oleh pvar ketika tidak lagi diperlukan.

Jika VARIAN sumber adalah array, iElem harus kurang dari jumlah elemen dalam array.

Jika VARIAN sumber memiliki nilai tunggal, iElem harus 0.

Jika VARIAN sumber kosong, fungsi ini selalu mengembalikan kode kesalahan.

Anda dapat menggunakan VariantGetElementCount untuk mendapatkan jumlah elemen dalam array atau array.

Contoh

Contoh berikut, untuk disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara menggunakan InitVariantFromVariantArrayElem dalam pernyataan perulangan untuk mengakses nilai dalam VARIAN.

// VARIANT var;
// Assume var is initialized and valid.
UINT cElem = VariantGetElementCount(var);
HRESULT hr = <mark type="const">S_OK</mark>;

for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
    VARIANT varElem = {0};

    hr = InitVariantFromVariantArrayElem(var, iElem, &varElem);

    if (SUCCEEDED(hr))
    {
        // varElem is now valid.
        VariantClear(&varElem);
    }
}

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

InitPropVariantFromPropVariantVectorElem

VariantGetElem