Condividi tramite


Funzione PropVariantToUInt32WithDefault (propvarutil.h)

Estrae un valore ULONG da una struttura PROPVARIANT . Se non esiste alcun valore, viene restituito un valore predefinito specificato.

Sintassi

PSSTDAPI_(ULONG) PropVariantToUInt32WithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] ULONG          ulDefault
);

Parametri

[in] propvarIn

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[in] ulDefault

Tipo: ULONG

Specifica un valore di proprietà predefinito, per l'uso in cui non esiste alcun valore.

Valore restituito

Tipo: ULONG

Restituisce il valore ULONG estratto o il valore predefinito.

Commenti

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

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

Esempio

L'esempio seguente, da includere come parte di un programma più ampio, illustra come usare PropVariantToUInt32WithDefault per accedere a un valore ULONG in un PROPVARIANT.

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Rating, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_Rating is expected to produce a VT_UI4 or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as 0
     ULONG uRating = PropVariantToUInt32WithDefault(propvar, 0);
     // uRating 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

InitPropVariantFromUInt32

PropVariantChangeType

PropVariantToUInt32

VariantToUInt32