Fonction PropVariantToUInt64Vector (propvarutil.h)
Extrait des données d’une structure PROPVARIANT dans un vecteur ULONGLONG .
Syntaxe
PSSTDAPI PropVariantToUInt64Vector(
[in] REFPROPVARIANT propvar,
[out] ULONGLONG *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Paramètres
[in] propvar
Type : REFPROPVARIANT
Référence à une structure PROPVARIANT source.
[out] prgn
Type : ULONGLONG*
Pointe vers une mémoire tampon contenant les valeurs ULONGLONG decrgn. Lorsque cette fonction retourne, la mémoire tampon a été initialisée avec des éléments pcElemULONGLONG 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 ULONGLONG extraites de la structure PROPVARIANT source.
Valeur retournée
Type : HRESULT
Cette fonction peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
|
Retourne S_OK en cas de réussite, ou une valeur d’erreur dans le cas contraire. |
|
La source PROPVARIANT contenait plus de valeurs crgn . Mémoire tampon pointée par prgn. |
|
Le PROPVARIANT 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 un vecteur de valeurs ULONGLONG avec un nombre fixe d’éléments.
Si la source PROPVARIANT a le type VT_VECTOR | VT_UI8 ou VT_ARRAY | VT_UI8, cette fonction d’assistance extrait jusqu’à crgnvaleurs ULONGLONG 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
L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PropVariantToUInt64Vector pour accéder à une valeur vectorielle ULONGLONG dans un PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
ULONGLONG rgLongs[4]; // The application is expecting propvar to hold 4 ULONGLONGs in a vector
ULONG cElems;
HRESULT hr = PropVariantToUInt64Vector(propvar, rgLongs, ARRAYSIZE(rgLongs), &cElems);
if (SUCCEEDED(hr))
{
if (cElems == ARRAYSIZE(rgLongs))
{
// The application got 4 ULONGLONGs which are now stored in rgLongs
}
else
{
// The application got cElems which are stored in the first cElems elements of rgLongs
}
}
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
InitPropVariantFromUInt64Vector