Partager via


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)
D’autres types peuvent être pris en charge à l’avenir.

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.

Note Vous pouvez utiliser PropVariantGetElementCount pour obtenir le nombre d’éléments dans le vecteur ou le tableau.
 

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

Voir aussi

InitPropVariantFromPropVariantVectorElem