PropVariantToBooleanVector-Funktion (propvarutil.h)
Extrahiert einen booleschen Vektor aus einer PROPVARIANT-Struktur .
Syntax
PSSTDAPI PropVariantToBooleanVector(
[in] REFPROPVARIANT propvar,
[out] BOOL *prgf,
[in] ULONG crgf,
[out] ULONG *pcElem
);
Parameter
[in] propvar
Typ: REFPROPVARIANT
Verweis auf eine PROPVARIANT-Quellstruktur .
[out] prgf
Typ: BOOL*
Zeigt auf einen Puffer, der crgfBOOL-Werte enthält. Wenn diese Funktion zurückgibt, wurde der Puffer mit pcElem Boolean-Elementen initialisiert, die aus der PROPVARIANT-Quellstruktur extrahiert wurden.
[in] crgf
Typ: ULONG
Anzahl der Elemente im Puffer, auf die prgf verweist.
[out] pcElem
Typ: ULONG*
Wenn diese Funktion zurückgibt, enthält die Anzahl der booleschen Elemente, die aus der Quellstruktur PROPVARIANT extrahiert wurden.
Rückgabewert
Typ: HRESULT
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Gibt bei erfolgreicher Ausführung S_OK oder andernfalls einen Fehlerwert zurück. |
|
Die Propvariant-Quelle enthielt mehr als crgf-Werte . Der Puffer, auf den prgf verweist. |
|
Propvariant war nicht vom entsprechenden Typ. |
Hinweise
Diese Hilfsfunktion wird verwendet, wenn die aufrufende Anwendung erwartet, dass eine PROPVARIANT einen booleschen Vektorwert mit einer festen Anzahl von Elementen enthält.
Wenn die Quelle PROPVARIANT den Typ VT_VECTOR | VT_BOOL oder VT_ARRAY | VT_BOOL extrahiert diese Hilfsfunktion bis zu crgf Boolean-Werte und platziert sie in den Puffer, auf den prgf verweist. Wenn propvariant 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 PropVariantToBooleanVector verwendet wird, um auf einen booleschen Vektor zuzugreifen, der in einem PROPVARIANT gespeichert ist.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid.
// The application is expecting the propvar variable to hold 4 Booleans
// in a vector.
BOOL rgFlags[4];
ULONG cFlags;
HRESULT hr = PropVariantToBooleanVector(propvar, rgFlags, ARRAYSIZE(rgFlags), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgFlags))
{
// The application received 4 flags which are now stored in rgFlags.
}
else
{
// The application received cFlags flags which are now stored in the
// first cFlags elements of rgFlags.
}
}
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 |
Bibliothek | Propsys.lib |
DLL | Propsys.dll (Version 6.0 oder höher) |
Verteilbare Komponente | Windows Desktop Search (WDS) 3.0 |