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 |