Fonction VariantToDoubleArray (propvarutil.h)
Extrait un tableau de valeurs DOUBLE d’une structure VARIANT .
Syntaxe
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Paramètres
[in] var
Type : REFVARIANT
Référence à une structure VARIANT source.
[out] prgn
Type : DOUBLE*
Pointeur vers une mémoire tampon qui contient des valeurs crgnDOUBLE . Lorsque cette fonction retourne, la mémoire tampon a été initialisée avec des éléments *pcElemDOUBLE extraits de la structure VARIANT source.
[in] crgn
Type : ULONG
Nombre d’éléments dans la mémoire tampon pointés vers prgn.
[out] pcElem
Type : ULONG*
Lorsque cette fonction retourne, contient le nombre d’éléments DOUBLE extraits de la structure VARIANT source.
Valeur retournée
Type : HRESULT
Retourne S_OK en cas de réussite, ou une valeur d’erreur dans le cas contraire, y compris les éléments suivants :
Code de retour | Description |
---|---|
|
Le VARIANT source contenait plus de valeurs crgn . |
|
Variant n’était pas du type approprié. |
Remarques
Cette fonction d’assistance est utilisée lorsque l’application appelante s’attend à ce qu’un VARIANT contienne un tableau qui se compose d’un nombre fixe de valeurs DOUBLE .
Si le VARIANT source a le type VT_ARRAY | VT_DOUBLE, cette fonction extrait jusqu’à crgnDOUBLE et les place dans la mémoire tampon vers laquelle pointe prgn.
Si la fonction VARIANT contient plus d’éléments que ne peut contenir 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 VariantToDoubleArray pour accéder à un tableau DOUBLE stocké dans un variant.
// VARIANT var;
// Assume variable var is initialized and valid.
DOUBLE rgDoubles[4]; // The application expects var to hold 4 DOUBLEs in an array.
ULONG cDoubles;
HRESULT hr = VariantToDoubleArray(var, rgDoubles, ARRAYSIZE(rgDoubles), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgDoubles))
{
// The application got 4 DOUBLEs which are now stored in rgDoubles.
}
else
{
// The application got *pcElem DOUBLEs which are stored in the first
// *pcElem elements of rgDoubles.
}
}
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 |