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)
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.
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 |