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 |