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.0
en . 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 |