Función VariantToBooleanArray (propvarutil.h)
Extrae una matriz de valores booleanos de una estructura VARIANT .
Sintaxis
PSSTDAPI VariantToBooleanArray(
[in] REFVARIANT var,
[out] BOOL *prgf,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parámetros
[in] var
Tipo: REFVARIANT
Referencia a una estructura VARIANT de origen.
[out] prgf
Tipo: BOOL*
Puntero a un búfer que contiene valores booleanos crgn . Cuando esta función devuelve, el búfer se ha inicializado con los elementos BOOL *pcElem extraídos de la estructura VARIANT de origen.
[in] crgn
Tipo: ULONG
Número de elementos del búfer al que apunta prgf.
[out] pcElem
Tipo: ULONG*
Cuando esta función devuelve, contiene un puntero al recuento de elementos BOOL extraídos de la estructura VARIANT de origen.
Valor devuelto
Tipo: HRESULT
Devuelve S_OK si se ejecuta correctamente o un valor de error, incluido lo siguiente:
Código devuelto | Descripción |
---|---|
|
El valor VARIANT de origen contenía más de valores crgn . |
|
Variant no era del tipo adecuado. |
Comentarios
Esta función auxiliar se usa cuando la aplicación que realiza la llamada espera que variant contenga una matriz que consta de un número fijo de valores booleanos.
Si el valor VARIANT de origen es de tipo VT_ARRAY | VT_BOOL, esta función extrae hasta valores BOOL de crgn y los coloca en el búfer al que apunta prgf. Si variant contiene más elementos de los que caben en el búfer prgf , esta función devuelve un error y establece *pcElem en 0.
Ejemplos
En el ejemplo siguiente, para incluirse como parte de un programa mayor, se muestra cómo usar VariantToBooleanArray para tener acceso a una matriz de valores BOOL almacenados en una estructura 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.
}
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 con SP1 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | propvarutil.h |
Library | Propsys.lib |
Archivo DLL | Propsys.dll (versión 6.0 o posterior) |
Redistribuible | Búsqueda de escritorio de Windows (WDS) 3.0 |