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