Compartir a través de


Función VariantToBoolean (propvarutil.h)

Extrae el valor de una propiedad booleana de una estructura VARIANT . Si no se puede extraer ningún valor, se asigna un valor predeterminado.

Sintaxis

PSSTDAPI VariantToBoolean(
  [in]  REFVARIANT varIn,
  [out] BOOL       *pfRet
);

Parámetros

[in] varIn

Tipo: REFVARIANT

Referencia a una estructura VARIANT de origen.

[out] pfRet

Tipo: BOOL*

Cuando se devuelve esta función, contiene el valor extraído si existe uno; de lo contrario, FALSE.

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Esta función auxiliar se usa cuando la aplicación que realiza la llamada espera que variant contenga un valor booleano. Por ejemplo, una aplicación que obtiene valores de una carpeta shell puede usar esta función para extraer de forma segura el valor de una de las propiedades booleanas de la carpeta.

Si el valor VARIANT de origen es de tipo VT_BOOL, esta función extrae el valor BOOL .

Si el valor VARIANT de origen no es de tipo VT_BOOL, esta función intenta convertir el valor de la estructura VARIANT en una BOOL. Si no es posible una conversión, VariantToBoolean devuelve un código de error y establece pfRet en FALSE. Consulte PropVariantChangeType para obtener una lista de las posibles conversiones. Tenga en cuenta que VT_EMPTY se convierte correctamente en FALSE.

Ejemplos

En el ejemplo siguiente, para incluirse como parte de un programa más grande, se muestra cómo usar VariantToBoolean para tener acceso a un valor BOOL en un variant.

// VARIANT var;
// Assume variable var is initialize and valid. 
// The application expects it to hold a VT_BOOL value.
BOOL fValue;

HRESULT hr = VariantToBoolean(var, &fValue);

if (SUCCEEDED(hr))
{
    // fValue is now valid.
}
else
{
    // fValue is always FALSE.
}

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

Consulte también

InitVariantFromBoolean

PropVariantChangeType

PropVariantToBoolean

VariantToBooleanArray