Condividi tramite


Funzione PropVariantToDoubleWithDefault (propvarutil.h)

Estrae un valore di proprietà double di una struttura PROPVARIANT . Se non esiste alcun valore, viene restituito il valore predefinito specificato.

Sintassi

PSSTDAPI_(DOUBLE) PropVariantToDoubleWithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] DOUBLE         dblDefault
);

Parametri

[in] propvarIn

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[in] dblDefault

Tipo: DOUBLE

Specifica il valore predefinito della proprietà per l'utilizzo in cui non esiste alcun valore.

Valore restituito

Tipo: DOUBLE

Restituisce un valore double estratto o un valore predefinito.

Commenti

Questa funzione helper viene usata in posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un valore double e voglia usare un valore predefinito se non lo fa. Ad esempio, un'applicazione che ottiene valori da un archivio proprietà può usarla per estrarre in modo sicuro il valore double per le proprietà double.

Se l'origine PROPVARIANT ha tipo VT_R8, questa funzione helper estrae il valore double. In caso contrario, tenta di convertire il valore nella struttura PROPVARIANT in un valore double. Se l'origine PROPVARIANT ha tipo VT_EMPTY o non è possibile eseguire una conversione, PropVariantToDoubleWithDefault restituirà il valore predefinito fornito da dblDefault. Per un elenco delle conversioni possibili, vedere PropVariantChangeType .

Esempio

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Image_HorizontalResolution, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_Image_HorizontalResolution is expected to produce a VT_R8 or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as 72.0
     DOUBLE dblResolution = PropVariantToDoubleWithDefault(propvar, 72.0);
     // dblResolution is now valid.
     PropVariantClear(&propvar);
}

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

InitPropVariantFromDouble

PropVariantChangeType

PropVariantToDoubleVector

VariantToDouble