Funzione PropVariantToUInt16WithDefault (propvarutil.h)
Estrae un valore short senza segno da una struttura PROPVARIANT . Se non esiste alcun valore, viene restituito il valore predefinito specificato.
Sintassi
PSSTDAPI_(USHORT) PropVariantToUInt16WithDefault(
[in] REFPROPVARIANT propvarIn,
[in] USHORT uiDefault
);
Parametri
[in] propvarIn
Tipo: REFPROPVARIANT
Riferimento a una struttura PROPVARIANT di origine.
[in] uiDefault
Tipo: USHORT
Specifica un valore di proprietà predefinito, per l'utilizzo in cui non esiste alcun valore.
Valore restituito
Tipo: unsigned short
Restituisce un valore short senza segno 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 short senza segno . Ad esempio, un'applicazione che ottiene valori da un archivio proprietà può usarla per estrarre in modo sicuro il valore breve senza segno per le proprietà UInt16.
Se l'origine PROPVARIANT ha tipo VT_UI2, questa funzione helper estrae il valore short senza segno . In caso contrario, tenta di convertire il valore nella struttura PROPVARIANT in un short senza segno. Se una conversione non è possibile, PropVariantToUInt16 restituirà un codice di errore e imposterà puiRet su 0. Per un elenco delle conversioni possibili, vedere PropVariantChangeType . Si noti che VT_EMPTY viene convertito correttamente in 0.
Esempio
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare PropVariantToUInt16 per accedere a un valore short senza segno in un PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_FlagColor, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_FlagColor is expected to produce a VT_UI2 or VT_EMPTY value.
// PropVariantToInt32 will convert VT_EMPTY to 0.
USHORT uColor;
hr = PropVariantToUInt32(propvar, & uColor);
if (SUCCEEDED(hr))
{
// uColor is now valid
}
else
{
// uColor is always 0
}
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 |