Compartir a través de


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
TYPE_E_BUFFERTOOSMALL
El valor VARIANT de origen contenía más de valores crgn .
E_INVALIDARG
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

Consulte también

InitVariantFromBooleanArray

PropVariantToBooleanVector

VariantGetBooleanElem

VariantToBoolean

VariantToBooleanArrayAlloc