Fonction PropVariantToUInt64 (propvarutil.h)
Extrait une valeur UInt64 d’une structure PROPVARIANT . Si aucune valeur ne peut être extraite, une valeur par défaut est affectée.
Syntaxe
PSSTDAPI PropVariantToUInt64(
[in] REFPROPVARIANT propvarIn,
[out] ULONGLONG *pullRet
);
Paramètres
[in] propvarIn
Type : REFPROPVARIANT
Référence à une structure PROPVARIANT source.
[out] pullRet
Type : ULONGLONG*
Lorsque cette fonction retourne, contient la valeur de la propriété extraite le cas échéant ; sinon, 0.
Valeur retournée
Type : HRESULT
Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Notes
Cette fonction d’assistance est utilisée dans les endroits où l’application appelante s’attend à ce qu’un PROPVARIANT contienne une valeur ULONGLONG . 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 ULONGLONG pour les propriétés UInt64.
Si la propriété PROPVARIANT source a le type VT_UI8, cette fonction d’assistance extrait la valeur ULONGLONG . Sinon, il tente de convertir la valeur de la structure PROPVARIANT en ULONGLONG. Si une conversion n’est pas possible, PropVariantToUInt64 retourne un code d’échec et définit pullRet 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 PropVariantToUInt64 pour accéder à une valeur ULONGLONG dans un PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Size, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Size is expected to produce a VT_UI8 or VT_EMPTY value.
// PropVariantToUInt64 will convert VT_EMPTY to 0.
ULONGLONG ullSize;
hr = PropVariantToUInt64(propvar, &ullSize);
if (SUCCEEDED(hr))
{
// ullSize is now valid
}
else
{
// ullSize is always 0
}
PropVariantClear(&propvar);
}
Spécifications
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 |