Partager via


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
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 que des valeurs crgf . Mémoire tampon pointée par prgf.
E_INVALIDARG
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