Freigeben über


PropVariantToBooleanWithDefault-Funktion (propvarutil.h)

Extrahiert den Wert der booleschen Eigenschaft einer PROPVARIANT-Struktur . Wenn kein Wert vorhanden ist, wird der angegebene Standardwert zurückgegeben.

Syntax

PSSTDAPI_(BOOL) PropVariantToBooleanWithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] BOOL           fDefault
);

Parameter

[in] propvarIn

Typ: REFPROPVARIANT

Verweis auf eine PROPVARIANT-Quellstruktur .

[in] fDefault

Typ: BOOL

Gibt den Standardwert für die Eigenschaft an, wenn derzeit kein Wert vorhanden ist.

Rückgabewert

Typ: BOOL

Der extrahierte boolesche Wert oder der Standardwert.

Hinweise

Diese Hilfsfunktion wird an Stellen verwendet, an denen die aufrufende Anwendung erwartet, dass eine PROPVARIANT einen booleschen Wert enthält, und wenn dies nicht der Fall ist, einen Standardwert verwenden möchte. Für instance kann eine Anwendung, die Werte aus einem Eigenschaftenspeicher abruft, dies verwenden, um den booleschen Wert für boolesche Eigenschaften sicher zu extrahieren.

Wenn die Propvariant-Quelleden Typ VT_BOOL hat, extrahiert diese Hilfsfunktion den booleschen Wert. Andernfalls wird versucht, den Wert in der PROPVARIANT-Struktur in einen booleschen Wert zu konvertieren. Wenn die PROPVARIANT-Quelleden Typ VT_EMPTY hat oder eine Konvertierung nicht möglich ist, gibt PropVariantToBooleanWithDefault den von fDefault bereitgestellten Standardwert zurück. Eine Liste möglicher Konvertierungen finden Sie unter PropVariantChangeType .

Beispiele

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

// IPropertyStore *ppropstore;
// Assume the variable ppropstore is initialized and valid.
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_IsRead, &propvar);

if (SUCCEEDED(hr))
{
     // PKEY_IsRead is expected to produce a VT_BOOL or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as TRUE
     BOOL fShared = PropVariantToBooleanWithDefault(propvar, TRUE);
     
     // fShared is now valid.
     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