Partager via


PropVariantToUInt16Vector, fonction (propvarutil.h)

Extrait les données d’une structure PROPVARIANT dans un vecteur court non signé.

Syntaxe

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

Paramètres

[in] propvar

Type : REFPROPVARIANT

Référence à une structure de PROPVARIANT source.

[out] prgn

Type : USHORT*

Pointe vers une mémoire tampon contenant crgnvaleurs courtes non signées. Lorsque cette fonction est retournée, la mémoire tampon a été initialisée avec pcEleméléments courts non signés extraits de la source PROPVARIANT.

[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 de valeurs courtes non signées extraites de la structure PROPVARIANT source.

Valeur de retour

Type : HRESULT

Cette fonction peut retourner l’une de ces valeurs.

Retourner le code 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 de crgn. Mémoire tampon pointée par prgn.
E_INVALIDARG
Le PROPVARIANT n’était pas du type approprié.

Remarques

Cette fonction d’assistance est utilisée dans les emplacements où l’application appelante s’attend à ce qu’un PROPVARI ANT contienne un vecteur de valeurs courtes non signées avec un nombre fixe d’éléments.

Si la PROPVARIANT source a un type VT_VECTORVT_UI2 ou VT_ARRAYVT_UI2, cette fonction d’assistance extrait jusqu’à valeurs de courtes non signées et les place dans la mémoire tampon pointée par . Si l'PROPVARIANT contient plus d’éléments que ce qui correspond à la mémoire tampon prgn, cette fonction renvoie une erreur et définit pcElem sur 0.

Exemples

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

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

Exigences

Exigence Valeur
client minimum pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête propvarutil.h
bibliothèque Propsys.lib
DLL Propsys.dll (version 6.0 ou ultérieure)
redistribuable Windows Desktop Search (WDS) 3.0

Voir aussi

InitPropVariantFromUInt16Vector

PropVariantGetUInt16Elem

PropVariantToUInt16

PropVariantToUInt16VectorAlloc

VariantToUInt16Array