PropVariantToBoolean-Funktion (propvarutil.h)
Extrahiert einen booleschen Eigenschaftswert einer PROPVARIANT-Struktur . Wenn kein Wert extrahiert werden kann, wird ein Standardwert zugewiesen.
Syntax
PSSTDAPI PropVariantToBoolean(
[in] REFPROPVARIANT propvarIn,
[out] BOOL *pfRet
);
Parameter
[in] propvarIn
Typ: REFPROPVARIANT
Verweis auf eine PROPVARIANT-Quellstruktur .
[out] pfRet
Typ: BOOL*
Wenn diese Funktion zurückgibt, enthält den extrahierten Eigenschaftswert, sofern vorhanden; enthält 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 an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass eine PROPVARIANT einen booleschen Wert enthält. Bei instance kann eine Anwendung, die Werte aus einem Eigenschaftenspeicher erhält, dies verwenden, um den booleschen Wert für boolesche Eigenschaften sicher zu extrahieren.
Wenn der Propvariant-QuelltypVT_BOOL hat, extrahiert diese Hilfsfunktion den booleschen Wert. Andernfalls wird versucht, den Wert in der PROPVARIANT-Struktur in einen booleschen Wert zu konvertieren. Wenn eine Konvertierung nicht möglich ist, gibt PropVariantToBoolean 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 PropVariantToBoolean auf einen booleschen Wert in einem PROPVARIANT zugreifen kann.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_IsShared, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_IsShared is expected to produce a VT_BOOL or VT_EMPTY value.
// PropVariantToBoolean will convert VT_EMPTY to FALSE.
BOOL fShared;
hr = PropVariantToBoolean(propvar, &fShared);
if (SUCCEEDED(hr))
{
// fShared is now valid
}
else
{
// fShared is always FALSE
}
PropVariantClear(&propvar);
}
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 |