Condividi tramite


Funzione PropVariantToBooleanWithDefault (propvarutil.h)

Estrae il valore della proprietà Boolean di una struttura PROPVARIANT . Se non esiste alcun valore, viene restituito il valore predefinito specificato.

Sintassi

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

Parametri

[in] propvarIn

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[in] fDefault

Tipo: BOOL

Specifica il valore predefinito della proprietà, per l'utilizzo in cui non esiste alcun valore.

Valore restituito

Tipo: BOOL

Valore booleano estratto o valore predefinito.

Commenti

Questa funzione helper viene usata in posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un valore booleano e voglia utilizzare un valore predefinito se non lo fa. Ad esempio, un'applicazione che ottiene valori da un archivio proprietà può usarla per estrarre in modo sicuro il valore booleano per le proprietà booleane.

Se l'origine PROPVARIANT ha tipo VT_BOOL, questa funzione helper estrae il valore booleano. In caso contrario, tenta di convertire il valore nella struttura PROPVARIANT in un valore booleano. Se l'origine PROPVARIANT ha tipo VT_EMPTY o non è possibile eseguire una conversione, PropVariantToBooleanWithDefault restituisce l'impostazione predefinita fornita da fDefault. Per un elenco delle conversioni possibili, vedere PropVariantChangeType .

Esempio

Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantToBooleanWithDefault per accedere a un valore booleano in un PROPVARIANT.

// 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);
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione propvarutil.h
Libreria Propsys.lib
DLL Propsys.dll (versione 6.0 o successiva)
Componente ridistribuibile Windows Desktop Search (WDS) 3.0