Partager via


Fonction PropVariantToUInt16WithDefault (propvarutil.h)

Extrait une valeur courte non signée d’une structure PROPVARIANT . Si aucune valeur n’existe, la valeur par défaut spécifiée est retournée.

Syntaxe

PSSTDAPI_(USHORT) PropVariantToUInt16WithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] USHORT         uiDefault
);

Paramètres

[in] propvarIn

Type : REFPROPVARIANT

Référence à une structure PROPVARIANT source.

[in] uiDefault

Type : USHORT

Spécifie une valeur de propriété par défaut, à utiliser lorsqu’aucune valeur n’existe actuellement.

Valeur retournée

Type : court non signé

Retourne la valeur courte non signée extraite, ou valeur par défaut.

Remarques

Cette fonction d’assistance est utilisée dans les endroits où l’application appelante s’attend à ce qu’un PROPVARIANT contienne une valeur courte non signée . Par instance, une application qui obtient des valeurs à partir d’un magasin de propriétés peut l’utiliser pour extraire en toute sécurité la valeur courte non signée pour les propriétés UInt16.

Si la propriété PROPVARIANT source a le type VT_UI2, cette fonction d’assistance extrait la valeur courte non signée . Sinon, il tente de convertir la valeur de la structure PROPVARIANT en un short non signé. Si une conversion n’est pas possible, PropVariantToUInt16 retourne un code d’échec et définit puiRet sur 0. Pour obtenir la liste des conversions possibles, consultez PropVariantChangeType . Notez que VT_EMPTY est correctement converti en 0.

Exemples

L’exemple suivant, à inclure dans un programme plus grand, montre comment utiliser PropVariantToUInt16 pour accéder à une valeur courte non signée dans 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);

}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête propvarutil.h
Bibliothèque Propsys.lib
DLL Propsys.dll (version 6.0 ou ultérieure)
Composant redistribuable Windows Desktop Search (WDS) 3.0

Voir aussi

InitPropVariantFromUInt16

PropVariantChangeType

PropVariantToUInt16Vector

VariantToUInt16