Freigeben über


VariantToBoolean-Funktion (propvarutil.h)

Extrahiert den Wert einer booleschen Eigenschaft aus einer VARIANT-Struktur . Wenn kein Wert extrahiert werden kann, wird ein Standardwert zugewiesen.

Syntax

PSSTDAPI VariantToBoolean(
  [in]  REFVARIANT varIn,
  [out] BOOL       *pfRet
);

Parameter

[in] varIn

Typ: REFVARIANT

Verweis auf eine VARIANT-Quellstruktur .

[out] pfRet

Typ: BOOL*

Wenn diese Funktion zurückgibt, enthält den extrahierten Wert, sofern vorhanden; andernfalls FALSE.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Hilfsfunktion wird verwendet, wenn die aufrufende Anwendung erwartet, dass ein VARIANT-Wert einen booleschen Wert enthält. Für instance kann eine Anwendung, die Werte aus einem Shellordner abruft, diese Funktion verwenden, um den Wert sicher aus einer der booleschen Eigenschaften des Ordners zu extrahieren.

Wenn die Variant-Quelle vom Typ VT_BOOL ist, extrahiert diese Funktion den BOOL-Wert .

Wenn der Variant-Quelltyp nicht vom Typ VT_BOOL ist, versucht diese Funktion, den Wert in der VARIANT-Struktur in einen BOOL-Wert zu konvertieren. Wenn eine Konvertierung nicht möglich ist, gibt VariantToBoolean einen Fehlercode zurück und legt pfRet auf FALSE fest. Eine Liste der möglichen Konvertierungen finden Sie unter PropVariantChangeType . Beachten Sie, dass VT_EMPTY erfolgreich in FALSE konvertiert wurde.

Beispiele

Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie VariantToBoolean verwendet wird, um auf einen BOOL-Wert in einem VARIANT-Wert zuzugreifen.

// VARIANT var;
// Assume variable var is initialize and valid. 
// The application expects it to hold a VT_BOOL value.
BOOL fValue;

HRESULT hr = VariantToBoolean(var, &fValue);

if (SUCCEEDED(hr))
{
    // fValue is now valid.
}
else
{
    // fValue is always FALSE.
}

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

Weitere Informationen

InitVariantFromBoolean

PropVariantChangeType

PropVariantToBoolean

VariantToBooleanArray