Funzione PropVariantToUInt32 (propvarutil.h)
Estrae un valore ULONG da una struttura PROPVARIANT . Se non è possibile estrarre alcun valore, viene assegnato un valore predefinito.
Sintassi
PSSTDAPI PropVariantToUInt32(
[in] REFPROPVARIANT propvarIn,
[out] ULONG *pulRet
);
Parametri
[in] propvarIn
Tipo: REFPROPVARIANT
Riferimento a una struttura PROPVARIANT di origine.
[out] pulRet
Tipo: ULONG*
Quando questa funzione restituisce, contiene il valore della proprietà estratta se presente; in caso contrario, 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 nelle posizioni in cui l'applicazione chiamante prevede che un VALORE PROPVARIANT contenga un valore ULONG . 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 una conversione non è possibile, PropVariantToUInt32 restituirà un codice di errore e imposta pulRet su 0. Per un elenco di possibili conversioni, vedere PropVariantChangeType . Nota, VT_EMPTY viene convertito correttamente in 0.
Esempio
L'esempio seguente, da includere come parte di un programma più grande, illustra come usare PropVariantToUInt32 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.
// PropVariantToUInt32 will convert VT_EMPTY to 0.
ULONG uRating;
hr = PropVariantToUInt32(propvar, &uRating);
if (SUCCEEDED(hr))
{
// uRating is now valid
}
else
{
// uRating 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 |