Partager via


PropVariantGetInt16Elem, fonction (propvarutil.h)

Extrait un seul élément Int16 d’une structure PROPVARIANT de type VT_I2, VT_VECTOR | VT_I2 ou VT_ARRAY | VT_I2.

Syntaxe

PSSTDAPI PropVariantGetInt16Elem(
  [in]  REFPROPVARIANT propvar,
  [in]  ULONG          iElem,
  [out] SHORT          *pnVal
);

Paramètres

[in] propvar

Type : REFPROPVARIANT

Référence à la structure PROPVARIANT source.

[in] iElem

Type : ULONG

L’index vectoriel ou matricielle ; sinon, cette valeur doit être 0.

[out] pnVal

Type : SHORT*

Lorsque cette fonction est retournée, contient la valeur d’élément Int32 extraite.

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 fonctionne pour les structures PROPVARIANT des types suivants.

  • VT_I2
  • VT_VECTOR | VT_I2
  • VT_ARRAY | VT_I2
Si la source PROPVARIANT a le type VT_I2, iElem doit être 0. Sinon, iElem doit être inférieur au nombre d’éléments dans le vecteur ou le tableau. Vous pouvez utiliser PropVariantGetElementCount pour obtenir le nombre d’éléments dans le vecteur ou le tableau.

Exemples

L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PropVariantGetInt16Elem avec une instruction d’itération pour accéder aux valeurs d’un PROPVARIANT.

// PROPVARIANT propvar;
    // Assume propvar is initialized and valid;
    
    if ((propvar.vt & VT_TYPEMASK) == VT_I2)
    {
        UINT cElem = PropVariantGetElementCount(propvar);
        HRESULT hr = <mark type="const">S_OK</mark>;
    
        for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
        {
            SHORT nValue;
            hr = PropVariantGetInt16Elem(propvar, iElem, &nValue);
    
            if (SUCCEEDED(hr))
            {
                // nValue is valid now
            }
        }
    }

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

PropVariantGetElem