Condividi tramite


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

Vedi anche

InitPropVariantFromUInt32

PropVariantChangeType

PropVariantToUInt32Vector

VariantToUInt32