Partager via


PropVariantToInt32VectorAlloc, fonction (propvarutil.h)

Extrait des données d’une structure PROPVARIANT dans un vecteur Int32 nouvellement alloué.

Syntaxe

PSSTDAPI PropVariantToInt32VectorAlloc(
  [in]  REFPROPVARIANT propvar,
  [out] LONG           **pprgn,
  [out] ULONG          *pcElem
);

Paramètres

[in] propvar

Type : REFPROPVARIANT

Référence à une structure PROPVARIANT source.

[out] pprgn

Type : LONG**

Lorsque cette fonction est retournée, contient un pointeur vers un vecteur de valeurs LONG extraites de la structure PROPVARIANT source.

[out] pcElem

Type : ULONG*

Lorsque cette fonction est retournée, contient le nombre d’éléments LONG 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.
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 de vecteur Int32.

Si la source PROPVARIANT a un type VT_VECTOR | VT_I4 ou VT_ARRAY | VT_I4, cette fonction extrait un vecteur de valeurs LONG dans un vecteur nouvellement alloué. L’application appelante est responsable de l’utilisation de CoTaskMemFree pour libérer le vecteur pointé par pprgn lorsqu’il n’est plus nécessaire.

Exemples

L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PropVariantToInt32VectorAlloc pour accéder à une valeur de vecteur LONG dans un PROPVARIANT.

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is expecting propvar to contain a vector of LONG values.
LONG *prgLongs;
ULONG cElems;
HRESULT hr = PropVariantToInt32VectorAlloc(propvar, &prgLongs, &cElems);
if (SUCCEEDED(hr))
{
     // prgLongs now points to a vector of cElems LONGs.
     CoTaskMemFree(prgLongs);
}

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

InitPropVariantFromInt32Vector

PropVariantGetInt32Elem

PropVariantToInt32

PropVariantToInt32Vector

VariantToInt32Array