Condividi tramite


Funzione VariantToDouble (propvarutil.h)

Estrae un valore DOUBLE da una struttura VARIANT . Se non è possibile estrarre alcun valore, viene assegnato un valore predefinito.

Sintassi

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

Parametri

[in] varIn

Tipo: REFVARIANT

Riferimento a una struttura VARIANT di origine.

[out] pdblRet

Tipo: DOUBLE*

Quando questa funzione restituisce, contiene il valore estratto se presente; in caso contrario, 0,0.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione helper viene usata quando l'applicazione chiamante prevede che un valore VARIANT contenga un valore DOUBLE . Ad esempio, un'applicazione che ottiene valori da una cartella shell può usare questa funzione per estrarre in modo sicuro il valore da una delle proprietà della cartella il cui valore viene archiviato come DOUBLE.

Se l'origine VARIANT è di tipo VT_R8, questa funzione estrae il valore DOUBLE .

Se l'origine VARIANT non è di tipo VT_R8, la funzione tenta di convertire il valore archiviato nella struttura VARIANT in un DOUBLE. Se una conversione non è possibile, VariantToDouble restituisce un codice di errore e imposta pdblRet su 0.0. Per un elenco di possibili conversioni, vedere PropVariantChangeType . Nota, VT_EMPTY viene convertito correttamente in 0,0.

Esempio

L'esempio seguente, da includere come parte di un programma più grande, illustra come usare VariantToDouble per accedere a un valore DOUBLE archiviato in una struttura 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.
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione propvarutil.h
Libreria Propsys.lib
DLL Propsys.dll (versione 6.0 o successiva)
Componente ridistribuibile Windows Desktop Search (WDS) 3.0

Vedi anche

InitVariantFromDouble

PropVariantChangeType

PropVariantToDouble

VariantToDoubleArray