PropVariantToBoolean, fonction (propvarutil.h)
Extrait une valeur de propriété booléenne d’une structure PROPVARIANT . Si aucune valeur ne peut être extraite, une valeur par défaut est affectée.
Syntaxe
PSSTDAPI PropVariantToBoolean(
[in] REFPROPVARIANT propvarIn,
[out] BOOL *pfRet
);
Paramètres
[in] propvarIn
Type : REFPROPVARIANT
Référence à une structure PROPVARIANT source.
[out] pfRet
Type : BOOL*
Lorsque cette fonction est retournée, contient la valeur de propriété extraite si elle existe ; sinon, contient FALSE.
Valeur retournée
Type : HRESULT
Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Cette fonction d’assistance est utilisée dans les endroits où l’application appelante s’attend à ce qu’un PROPVARIANT contienne une valeur booléenne. 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 booléenne des propriétés booléennes.
Si la source PROPVARIANT a le type VT_BOOL, cette fonction d’assistance extrait la valeur booléenne. Sinon, il tente de convertir la valeur de la structure PROPVARIANT en booléen. Si une conversion n’est pas possible, PropVariantToBoolean retourne un code d’échec et définit pfRet sur FALSE. Pour obtenir la liste des conversions possibles, consultez PropVariantChangeType . Notez que VT_EMPTY est correctement converti en FALSE.
Exemples
L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PropVariantToBoolean accéder à une valeur booléenne dans un PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_IsShared, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_IsShared is expected to produce a VT_BOOL or VT_EMPTY value.
// PropVariantToBoolean will convert VT_EMPTY to FALSE.
BOOL fShared;
hr = PropVariantToBoolean(propvar, &fShared);
if (SUCCEEDED(hr))
{
// fShared is now valid
}
else
{
// fShared is always FALSE
}
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 |