Fonction PropVariantGetElem (propvarutil.h)
Initialise une structure PROPVARIANT basée sur un élément spécifié dans une autre structure PROPVARIANT .
Syntaxe
HRESULT PropVariantGetElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Paramètres
[in] propvarIn
Type : REFPROPVARIANT
Référence à la structure PROPVARIANT source.
[in] iElem
Type : ULONG
Index d’un élément de structure PROPVARIANT dans propvarIn.
[out] ppropvar
Type : PROPVARIANT*
Lorsque cette fonction retourne, contient un PROPVARIANT avec la valeur spécifiée à partir de la structure PROPVARIANT source.
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 fonctionne pour les structures PROPVARIANT des types suivants :
- VT_LPWSTR
- VT_BSTR
- VT_BOOL
- VT_I2
- VT_I4
- VT_I8
- VT_U12
- VT_U14
- VT_U18
- VT_FILETIME
- VT_VECTOR | (toute VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
- VT_ARRAY | (toute VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Il s’agit d’une fonction inline, avec son code source fourni dans l’en-tête. Il n’est inclus dans aucun fichier .dll ou .lib.
Cette fonction extrait une valeur unique de la structure PROPVARIANT source et utilise cette valeur pour initialiser la structure PROPVARIANT de sortie. L’application appelante doit utiliser PropVariantClear pour libérer le PROPVARIANT auquel fait référence ppropvar lorsqu’il n’est plus nécessaire.
Si le PROPVARIANT source est un vecteur ou un tableau, iElem doit être inférieur au nombre d’éléments dans le vecteur ou le tableau.
Si le PROPVARIANT source n’a qu’une seule valeur, iElem doit être 0.
Si le PROPVARIANT source est vide, cette fonction retourne toujours un code d’erreur.
Exemples
L’exemple de code suivant, à inclure dans un programme plus grand, montre comment utiliser PropVariantGetElem dans une instruction d’itération pour accéder aux valeurs dans PROPVARIANT.
// PROPVARIANT propvar;
// Assume propvar is initialized and valid.
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
<xref rid="_stg_propvariant"/>propvarElem = {0};
hr = PropVariantGetElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is valid now.
PropVariantClear(&propvarElem);
}
}
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 |
Composant redistribuable | Windows Desktop Search (WDS) 3.0 |