Funzione VariantToBooleanArray (propvarutil.h)
Estrae una matrice di valori booleani da una struttura VARIANT .
Sintassi
PSSTDAPI VariantToBooleanArray(
[in] REFVARIANT var,
[out] BOOL *prgf,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parametri
[in] var
Tipo: REFVARIANT
Riferimento a una struttura VARIANT di origine.
[out] prgf
Tipo: BOOL*
Puntatore a un buffer contenente valori booleani crgn . Al termine di questa funzione, il buffer è stato inizializzato con gli elementi *pcElemBOOL estratti dalla struttura VARIANT di origine.
[in] crgn
Tipo: ULONG
Numero di elementi nel buffer a cui punta prgf.
[out] pcElem
Tipo: ULONG*
Quando termina, questa funzione contiene un puntatore al conteggio degli elementi BOOL estratti dalla struttura VARIANT di origine.
Valore restituito
Tipo: HRESULT
Restituisce S_OK in caso di esito positivo o un valore di errore, incluso quanto segue:
Codice restituito | Descrizione |
---|---|
|
L'origine VARIANT contiene più valori crgn . |
|
VARIANT non era del tipo appropriato. |
Commenti
Questa funzione helper viene usata quando l'applicazione chiamante prevede che un valore VARIANT contenga una matrice costituita da un numero fisso di valori booleani.
Se l'origine VARIANT è di tipo VT_ARRAY | VT_BOOL, questa funzione estrae fino a valori BOOLcrgn e li inserisce nel buffer a cui punta prgf. Se variant contiene più elementi di quelli che verranno inseriti nel buffer prgf , questa funzione restituisce un errore e imposta *pcElem su 0.
Esempio
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare VariantToBooleanArray per accedere a una matrice di valori BOOL archiviati in una struttura 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.
}
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP con SP2, Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 con SP1 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | propvarutil.h |
Libreria | Propsys.lib |
DLL | Propsys.dll (versione 6.0 o successiva) |
Componente ridistribuibile | Windows Desktop Search (WDS) 3.0 |