Partager via


PropVariantToInt16Vector, fonction (propvarutil.h)

Extrait un vecteur de valeurs Int16 d’une structure PROPVARIANT .

Syntaxe

PSSTDAPI PropVariantToInt16Vector(
  [in]  REFPROPVARIANT propvar,
  [out] SHORT          *prgn,
  [in]  ULONG          crgn,
  [out] ULONG          *pcElem
);

Paramètres

[in] propvar

Type : REFPROPVARIANT

Référence à une structure PROPVARIANT source.

[out] prgn

Type : SHORT*

Pointe vers une mémoire tampon contenant des valeurs crgn SHORT. Lorsque cette fonction retourne, la mémoire tampon a été initialisée avec des éléments pcElem SHORT extraits de la structure PROPVARIANT source.

[in] crgn

Type : ULONG

Taille de la mémoire tampon pointée par prgn dans les éléments.

[out] pcElem

Type : ULONG*

Lorsque cette fonction est retournée, contient le nombre d’éléments Int16 extraits de la structure PROPVARIANT source.

Valeur retournée

Type : HRESULT

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Retourne S_OK en cas de réussite, ou une valeur d’erreur dans le cas contraire.
TYPE_E_BUFFERTOOSMALL
La source PROPVARIANT contenait plus de valeurs crgn . Mémoire tampon pointée par prgn.
E_INVALIDARG
LePROPVARIANT n’était pas du type approprié.

Remarques

Cette fonction d’assistance est utilisée dans les endroits où l’application appelante s’attend à ce qu’un PROPVARIANT contienne une valeur vectorielle Int16 avec un nombre fixe d’éléments.

Si la source PROPVARIANT a le type VT_VECTOR | VT_I2 ou VT_ARRAY | VT_I2, cette fonction d’assistance extrait jusqu’à crgn Les valeurs Int16 et les place dans la mémoire tampon pointée par prgn. Si PROPVARIANT contient plus d’éléments que ne le fera dans la mémoire tampon prgn , cette fonction retourne une erreur et définit pcElem sur 0.

Exemples

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
SHORT rgShorts[4]; // The application is expecting propvar to hold 4 Int16s in a vector
ULONG cElems;
HRESULT hr = PropVariantToInt16Vector(propvar, rgShorts, ARRAYSIZE(rgShorts), &cElems);
if (SUCCEEDED(hr))
{
     if (cElems == ARRAYSIZE(rgShorts))
     {
         // The application got 4 Int16s which are now stored in rgShorts
     }
     else
     {
         // The application got cElems which are stored in the first cElems elements of rgShorts
     }
}

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

InitPropVariantFromInt16Vector

PropVariantGetInt16Elem

PropVariantToInt16

PropVariantToInt16VectorAlloc

VariantToInt16Array