Compartir a través de


Función VariantToDouble (propvarutil.h)

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

Sintaxis

PSSTDAPI VariantToDouble(
  [in]  REFVARIANT varIn,
  [out] DOUBLE     *pdblRet
);

Parámetros

[in] varIn

Tipo: REFVARIANT

Referencia a una estructura VARIANT de origen.

[out] pdblRet

Tipo: DOUBLE*

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

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 DOUBLE . 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 de la carpeta cuyo valor se almacena como double.

Si el valor VARIANT de origen es de tipo VT_R8, esta función extrae el valor DOUBLE .

Si el valor VARIANT de origen no es de tipo VT_R8, la función intenta convertir el valor almacenado en la estructura VARIANT en double. Si no es posible una conversión, VariantToDouble devuelve un código de error y establece pdblRet0.0en . Consulte PropVariantChangeType para obtener una lista de las posibles conversiones. Tenga en cuenta que VT_EMPTY se convierte correctamente en 0,0.

Ejemplos

En el ejemplo siguiente, para incluirse como parte de un programa más grande, se muestra cómo usar VariantToDouble para tener acceso a un valor DOUBLE almacenado en una estructura VARIANT .

// VARIANT var;
// Assume variable var is initialize and valid.
// The application expects var to hold a VT_R8 value.
DOUBLE dblValue;

HRESULT hr = VariantToDouble(var, & dblValue);

if (SUCCEEDED(hr))
{
    // dblValue is now valid.
}
else
{
    // dblValue 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 Búsqueda de escritorio de Windows (WDS) 3.0

Consulte también

InitVariantFromDouble

PropVariantChangeType

PropVariantToDouble

VariantToDoubleArray