PropVariantToBooleanVector, fonction (propvarutil.h)
Extrait un vecteur booléen d’une structure PROPVARIANT .
Syntaxe
PSSTDAPI PropVariantToBooleanVector(
[in] REFPROPVARIANT propvar,
[out] BOOL *prgf,
[in] ULONG crgf,
[out] ULONG *pcElem
);
Paramètres
[in] propvar
Type : REFPROPVARIANT
Référence à une structure PROPVARIANT source.
[out] prgf
Type : BOOL*
Pointe vers une mémoire tampon qui contient des valeurs crgfBOOL . Lorsque cette fonction est retournée, la mémoire tampon a été initialisée avec des éléments booléens pcElem extraits de la structure PROPVARIANT source.
[in] crgf
Type : ULONG
Nombre d’éléments dans la mémoire tampon pointés par prgf.
[out] pcElem
Type : ULONG*
Lorsque cette fonction est retournée, contient le nombre d’éléments booléens extraits 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 que des valeurs crgf . Mémoire tampon pointée par prgf. |
|
Le PROPVARIANT n’était pas du type approprié. |
Notes
Cette fonction d’assistance est utilisée lorsque l’application appelante s’attend à ce qu’un PROPVARIANT contienne une valeur de vecteur booléen avec un nombre fixe d’éléments.
Si la source PROPVARIANT a le type VT_VECTOR | VT_BOOL ou VT_ARRAY | VT_BOOL, cette fonction d’assistance extrait jusqu’à crgf des valeurs booléennes et les place dans la mémoire tampon vers laquelle pointe le prgf. Si le PROPVARIANT contient plus d’éléments que ne peut tenir dans 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 PropVariantToBooleanVector pour accéder à un vecteur booléen stocké dans un PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid.
// The application is expecting the propvar variable to hold 4 Booleans
// in a vector.
BOOL rgFlags[4];
ULONG cFlags;
HRESULT hr = PropVariantToBooleanVector(propvar, rgFlags, ARRAYSIZE(rgFlags), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgFlags))
{
// The application received 4 flags which are now stored in rgFlags.
}
else
{
// The application received cFlags flags which are now stored in the
// first cFlags elements of rgFlags.
}
}
Spécifications
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 |