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