Freigeben über


InitVariantFromVariantArrayElem-Funktion (propvarutil.h)

Initialisiert eine VARIANT-Struktur mit einem Wert, der in einer anderen VARIANT-Struktur gespeichert ist.

Syntax

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

Parameter

[in] varIn

Typ: REFVARIANT

Verweis auf die VARIANT-Quellstruktur .

[in] iElem

Typ: ULONG

Index eines der VARIANT-Quellstrukturelemente.

[out] pvar

Typ: VARIANT*

Wenn diese Funktion zurückgibt, enthält die initialisierte VARIANT-Struktur .

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Hilfsfunktion funktioniert für VARIANT-Strukturen der folgenden Typen:

  • VT_BSTR
  • VT_BOOL
  • VT_I2
  • VT_I4
  • VT_I8
  • VT_U12
  • VT_U14
  • VT_U18
  • VT_DATE
  • VT_ARRAY | (VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_DATE)
Weitere Typen können in Zukunft unterstützt werden.

Diese Funktion extrahiert einen einzelnen Wert aus der VARIANT-Quellstruktur und verwendet diesen Wert, um die VARIANT-Ausgabestruktur zu initialisieren. Die aufrufende Anwendung muss VariantClear verwenden, um die variant frei zu geben, auf die von pvar verwiesen wird, wenn sie nicht mehr benötigt wird.

Wenn die Variant-Quelle ein Array ist, muss iElem kleiner als die Anzahl der Elemente im Array sein.

Wenn die Variant-Quelle über einen einzelnen Wert verfügt, muss iElem 0 sein.

Wenn die VARIANT-Quelle leer ist, gibt diese Funktion immer einen Fehlercode zurück.

Sie können VariantGetElementCount verwenden, um die Anzahl der Elemente im Array oder Array abzurufen.

Beispiele

Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie InitVariantFromVariantArrayElem in einer Iterationsanweisung verwendet wird, um auf die Werte in einer VARIANT-Anweisung zuzugreifen.

// 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);
    }
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile propvarutil.h
Bibliothek Propsys.lib
DLL Propsys.dll (Version 6.0 oder höher)
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

InitPropVariantFromPropVariantVectorElem

VariantGetElem