Freigeben über


PropVariantGetElem-Funktion (propvarutil.h)

Initialisiert eine PROPVARIANT-Struktur basierend auf einem angegebenen Element in einer anderen PROPVARIANT-Struktur .

Syntax

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

Parameter

[in] propvarIn

Typ: REFPROPVARIANT

Verweis auf die PROPVARIANT-Quellstruktur .

[in] iElem

Typ: ULONG

Index eines PROPVARIANT-Strukturelements in propvarIn.

[out] ppropvar

Typ: PROPVARIANT*

Wenn diese Funktion zurückgibt, enthält eine PROPVARIANT mit dem Wert, der aus der PROPVARIANT-Quellstruktur angegeben wurde.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. 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 | (alle VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
  • VT_ARRAY | (alle VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
In Zukunft können weitere Typen unterstützt werden.

Dies ist eine Inlinefunktion, deren Quellcode im Header bereitgestellt wird. Sie ist in keiner .dll- oder LIB-Datei enthalten.

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 die propvariant frei zu geben, auf die von ppropvar verwiesen wird, wenn sie nicht mehr benötigt wird.

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

Wenn die Quelle PROPVARIANT nur einen einzelnen Wert aufweist, muss iElem 0 sein.

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

Hinweis 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 PropVariantGetElem in einer Iterationsanweisung verwendet wird, um auf die Werte in PROPVARIANT 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 ++)
{
   <xref rid="_stg_propvariant"/>propvarElem = {0};
    
    hr = PropVariantGetElem(propvar, iElem, &propvarElem);

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

Anforderungen

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

Weitere Informationen

InitPropVariantFromPropVariantVectorElem