Funzione PropVariantToUInt64WithDefault (propvarutil.h)
Estrae il valore di ULONGLONG da una struttura PROPVARIANT . Se non esiste alcun valore, viene restituito il valore predefinito specificato.
Sintassi
PSSTDAPI_(ULONGLONG) PropVariantToUInt64WithDefault(
[in] REFPROPVARIANT propvarIn,
[in] ULONGLONG ullDefault
);
Parametri
[in] propvarIn
Tipo: REFPROPVARIANT
Riferimento a una struttura PROPVARIANT di origine.
[in] ullDefault
Tipo: ULONGLONG
Specifica un valore di proprietà predefinito, per l'utilizzo in cui non esiste alcun valore.
Valore restituito
Tipo: ULONGLONG
Restituisce il valore LONGLONG senza segno estratto o un valore predefinito.
Commenti
Questa funzione helper viene usata nelle posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un valore ULONGLONG e voglia utilizzare 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 di ULONGLONG per le proprietà UInt64 .
Se l'origine PROPVARIANT ha tipo VT_UI8, questa funzione helper estrae il valore di ULONGLONG . In caso contrario, tenta di convertire il valore nella struttura PROPVARIANT in ULONGLONG. Se l'origine PROPVARIANT ha tipo VT_EMPTY o non è possibile eseguire una conversione, PropVariantToUInt64WithDefault restituirà il valore predefinito fornito da ullDefault. Per un elenco delle conversioni possibili, vedere PropVariantChangeType .
Esempio
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantToUInt64WithDefault per accedere a un valore di ULONGLONG in un PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Size, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Size is expected to produce a VT_UI8 or VT_EMPTY value.
// The application developer decided to treat VT_EMPTY or invalid values as 0
ULONGLONG ullSize = PropVariantToUInt64WithDefault(propvar, 0);
// ullSize 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 |