Partager via


Fonction VariantToDouble (propvarutil.h)

Extrait une valeur DOUBLE d’une structure VARIANT . Si aucune valeur ne peut être extraite, une valeur par défaut est affectée.

Syntaxe

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

Paramètres

[in] varIn

Type : REFVARIANT

Référence à une structure VARIANT source.

[out] pdblRet

Type : DOUBLE*

Lorsque cette fonction retourne, contient la valeur extraite le cas échéant ; sinon, 0,0.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette fonction d’assistance est utilisée lorsque l’application appelante s’attend à ce qu’un VARIANT contienne une valeur DOUBLE . Par instance, une application qui obtient des valeurs à partir d’un dossier Shell peut utiliser cette fonction pour extraire en toute sécurité la valeur de l’une des propriétés du dossier dont la valeur est stockée en tant que DOUBLE.

Si la valeur VARIANT source est de type VT_R8, cette fonction extrait la valeur DOUBLE .

Si le VARIANT source n’est pas de type VT_R8, la fonction tente de convertir la valeur stockée dans la structure VARIANT en double. Si une conversion n’est pas possible, VariantToDouble retourne un code d’échec et définit pdblRet sur 0.0. Pour obtenir la liste des conversions possibles, consultez PropVariantChangeType . Notez que VT_EMPTY est correctement converti en 0,0.

Exemples

L’exemple suivant, à inclure dans le cadre d’un programme plus grand, montre comment utiliser VariantToDouble pour accéder à une valeur DOUBLE stockée dans une structure 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.
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête propvarutil.h
Bibliothèque Propsys.lib
DLL Propsys.dll (version 6.0 ou ultérieure)
Composant redistribuable Windows Desktop Search (WDS) 3.0

Voir aussi

InitVariantFromDouble

PropVariantChangeType

PropVariantToDouble

VariantToDoubleArray