VariantToBooleanArray-Funktion (propvarutil.h)
Extrahiert ein Array boolescher Werte aus einer VARIANT-Struktur .
Syntax
PSSTDAPI VariantToBooleanArray(
[in] REFVARIANT var,
[out] BOOL *prgf,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parameter
[in] var
Typ: REFVARIANT
Verweis auf eine VARIANT-Quellstruktur .
[out] prgf
Typ: BOOL*
Zeiger auf einen Puffer, der crgn Boolean-Werte enthält. Wenn diese Funktion zurückgibt, wurde der Puffer mit *pcElemBOOL-Elementen initialisiert, die aus der Variant-Quellstruktur extrahiert wurden.
[in] crgn
Typ: ULONG
Die Anzahl der Elemente im Puffer, auf die prgf verweist.
[out] pcElem
Typ: ULONG*
Wenn diese Funktion zurückgibt, enthält einen Zeiger auf die Anzahl der BOOL-Elemente , die aus der VARIANT-Quellstruktur extrahiert wurden.
Rückgabewert
Typ: HRESULT
Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück, einschließlich der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Die VARIANT-Quelle enthielt mehr als crgn-Werte . |
|
Der VARIANT-Typ hatte nicht den entsprechenden Typ. |
Hinweise
Diese Hilfsfunktion wird verwendet, wenn die aufrufende Anwendung erwartet, dass ein VARIANT-Array enthält, das aus einer festen Anzahl boolescher Werte besteht.
Wenn die Variant-Quelle vom Typ VT_ARRAY | VT_BOOL extrahiert diese Funktion bis zu crgnBOOL-Werte und platziert sie in den Puffer, auf den prgf verweist. Wenn variant mehr Elemente enthält, als in den prgf-Puffer passen, gibt diese Funktion einen Fehler zurück und legt *pcElem auf 0 fest.
Beispiele
Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie VariantToBooleanArray verwendet wird, um auf ein Array von BOOL-Werten zuzugreifen, die in einer VARIANT-Struktur gespeichert sind.
// VARIANT var;
// Assume variable var is initialized and valid
BOOL rgFlags[4]; // The application is expecting var to hold 4 BOOLs in an array.
ULONG cFlags;
HRESULT hr = VariantToBooleanArray(var, rgFlags, ARRAYSIZE(rgFlags), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgFlags))
{
// The application got 4 flag values which are now stored in rgFlags.
}
else
{
// The application got cFlags which are stored in the first cFlags
// elements of rgFlags.
}
}
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 |