Freigeben über


InitPropVariantFromPropVariantVectorElem-Funktion (propvarutil.h)

Initialisiert eine PROPVARIANT-Struktur basierend auf einem angegebenen PROPVARIANT-Vektorelement .

Syntax

PSSTDAPI InitPropVariantFromPropVariantVectorElem(
  [in]  REFPROPVARIANT propvarIn,
  [in]  ULONG          iElem,
  [out] PROPVARIANT    *ppropvar
);

Parameter

[in] propvarIn

Typ: REFPROPVARIANT

Die PROPVARIANT-Quellstruktur .

[in] iElem

Typ: ULONG

Der Index des Propvariant-Quellstrukturelements .

[out] ppropvar

Typ: PROPVARIANT*

Wenn diese Funktion zurückgibt, enthält die initialisierte PROPVARIANT-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 PROPVARIANT-Strukturen der folgenden Typen:

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

Diese Funktion extrahiert einen einzelnen Wert aus der PROPVARIANT-Quellstruktur und verwendet diesen Wert, um die PROPVARIANT-Ausgabestruktur zu initialisieren. Die aufrufende Anwendung muss PropVariantClear verwenden, um propvariant frei zu machen, auf das von ppropvar verwiesen wird, wenn es nicht mehr benötigt wird.

Wenn es sich bei der Quelle PROPVARIANT um einen Vektor oder ein Array handelt, muss iElem kleiner als die Anzahl der Elemente im Vektor oder Array sein.

Wenn die Propvariant-Quelle einen einzelnen Wert aufweist, muss iElem 0 sein.

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

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

Beispiele

Im folgenden Codebeispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie InitPropVariantFromPropVariantVectorElem in einer Iterationsanweisung verwendet wird, um auf die Werte in einer PROPVARIANT-Datei zuzugreifen.

// 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 ++)
{
    PROPVARIANT propvarElem = {0};

    hr = InitPropVariantFromPropVariantVectorElem(propvar, iElem, &propvarElem);

    if (SUCCEEDED(hr))
    {
        // propvarElem is now valid.

        PropVariantClear(&propvarElem);
    }
}

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

PropVariantGetElem