Compartir a través de


Función PropVariantToBooleanWithDefault (propvarutil.h)

Extrae el valor de propiedad booleano de una estructura PROPVARIANT . Si no existe ningún valor, se devuelve el valor predeterminado especificado.

Sintaxis

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

Parámetros

[in] propvarIn

Tipo: REFPROPVARIANT

Referencia a una estructura PROPVARIANT de origen.

[in] fDefault

Tipo: BOOL

Especifica el valor de propiedad predeterminado, para su uso cuando no existe ningún valor actualmente.

Valor devuelto

Tipo: BOOL

Valor booleano extraído o valor predeterminado.

Comentarios

Esta función auxiliar se usa en lugares donde la aplicación que realiza la llamada espera que un PROPVARIANT contenga un valor booleano y quiera usar un valor predeterminado si no lo hace. Por ejemplo, una aplicación que obtiene valores de un almacén de propiedades puede usarla para extraer de forma segura el valor booleano de las propiedades booleanas.

Si el PROPVARIANT de origen tiene el tipo VT_BOOL, esta función auxiliar extrae el valor booleano. De lo contrario, intenta convertir el valor de la estructura PROPVARIANT en un valor booleano. Si el PROPVARIANT de origen tiene el tipo VT_EMPTY o una conversión no es posible, PropVariantToBooleanWithDefault devuelve el valor predeterminado proporcionado por fDefault. Consulte PropVariantChangeType para obtener una lista de las posibles conversiones.

Ejemplos

En el ejemplo siguiente, para incluirse como parte de un programa más grande, se muestra cómo usar PropVariantToBooleanWithDefault para tener acceso a un valor booleano en 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);
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado propvarutil.h
Library Propsys.lib
Archivo DLL Propsys.dll (versión 6.0 o posterior)
Redistribuible Windows Desktop Search (WDS) 3.0