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 |