Fonction VariantToBooleanArray (propvarutil.h)
Extrait un tableau de valeurs booléennes d’une structure VARIANT .
Syntaxe
PSSTDAPI VariantToBooleanArray(
[in] REFVARIANT var,
[out] BOOL *prgf,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Paramètres
[in] var
Type : REFVARIANT
Référence à une structure VARIANT source.
[out] prgf
Type : BOOL*
Pointeur vers une mémoire tampon qui contient des valeurs booléennes crgn . Lorsque cette fonction est retournée, la mémoire tampon a été initialisée avec des éléments *pcElemBOOL extraits de la structure VARIANT source.
[in] crgn
Type : ULONG
Nombre d’éléments dans la mémoire tampon pointés par prgf.
[out] pcElem
Type : ULONG*
Lorsque cette fonction retourne, contient un pointeur vers le nombre d’éléments BOOL 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 booléennes.
Si le VARIANT source est de type VT_ARRAY | VT_BOOL, cette fonction extrait jusqu’à crgnvaleurs BOOL et les place dans la mémoire tampon vers laquelle pointe prgf. Si la fonction VARIANT contient plus d’éléments que la mémoire tampon prgf , 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 VariantToBooleanArray pour accéder à un tableau de valeurs BOOL stockées dans une structure VARIANT .
// VARIANT var;
// Assume variable var is initialized and valid
BOOL rgFlags[4]; // The application is expecting var to hold 4 BOOLs in an array.
ULONG cFlags;
HRESULT hr = VariantToBooleanArray(var, rgFlags, ARRAYSIZE(rgFlags), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgFlags))
{
// The application got 4 flag values which are now stored in rgFlags.
}
else
{
// The application got cFlags which are stored in the first cFlags
// elements of rgFlags.
}
}
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 |