Partager via


PropVariantToStringWithDefault, fonction (propvarutil.h)

Extrait la valeur de la propriété de chaîne d’une structure PROPVARIANT . Si aucune valeur n’existe, la valeur par défaut spécifiée est retournée.

Syntaxe

PSSTDAPI_(PCWSTR) PropVariantToStringWithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] LPCWSTR        pszDefault
);

Paramètres

[in] propvarIn

Type : REFPROPVARIANT

Référence à une structure PROPVARIANT source.

[in] pszDefault

Type : LPCWSTR

Pointeur vers une valeur de chaîne Unicode par défaut, pour une utilisation où aucune valeur n’existe actuellement. Peut être NULL.

Valeur retournée

Type : PCWSTR

Retourne la valeur de chaîne ou la valeur par défaut, ou la 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 de chaîne et souhaite utiliser une valeur par défaut si ce n’est pas le cas. 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 de chaîne pour les propriétés de chaîne.

Si la source PROPVARIANT a le type VT_LPWSTR ou VT_BSTR, cette fonction d’assistance retourne un pointeur vers la valeur dans la source PROPVARIANT. Si la source PROPVARIANT a le type VT_EMPTY ou si une conversion n’est pas possible, PropVariantToStringWithDefault retourne la valeur par défaut fournie par pszDefault.

Notez que cette fonction retourne des pointeurs vers les données fournies dans les paramètres. Par conséquent, l’application doit s’assurer que les données fournies aux paramètres restent valides jusqu’à ce que le résultat ne soit plus utilisé.

Exemples

L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PropVariantToStringWithDefault pour accéder à une valeur de chaîne dans un PROPVARIANT.

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Title, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_Title is expected to produce a VT_LPWSTR or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as ""
     PCWSTR pszTitle = PropVariantToStringWithDefault(propvar, L"");
     // pszTitle is now valid.
     PropVariantClear(&propvar);
}
// ... later in the program ...
hr = ppropstore->GetValue(PKEY_Comment, &propvar);
if (SUCCEEDED(hr))
{
         // PKEY_Comment is expected to produce a VT_LPWSTR or VT_EMPTY value.
         // The application developer decided to treat VT_EMPTY as NULL
         PCWSTR pszComment = PropVariantToStringWithDefault(propvar, NULL);
         if (pszComment)
         {
                 // pszComment is valid
         }
         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

InitPropVariantFromString

PropVariantChangeType

PropVariantToString

PropVariantToStringAlloc

VariantToString