Función VariantToDoubleArray (propvarutil.h)
Extrae una matriz de valores DOUBLE de una estructura VARIANT .
Sintaxis
PSSTDAPI VariantToDoubleArray(
[in] REFVARIANT var,
[out] DOUBLE *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parámetros
[in] var
Tipo: REFVARIANT
Referencia a una estructura VARIANT de origen.
[out] prgn
Tipo: DOUBLE*
Puntero a un búfer que contiene valores DOUBLE de crgn. Cuando esta función devuelve, el búfer se ha inicializado con los elementos *pcElemDOUBLE extraídos de la estructura VARIANT de origen.
[in] crgn
Tipo: ULONG
Número de elementos del búfer al que apunta prgn.
[out] pcElem
Tipo: ULONG*
Cuando esta función devuelve , contiene el recuento de elementos DOUBLE 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 DOUBLE .
Si el tipo VARIANT de origen tiene VT_ARRAY | VT_DOUBLE, esta función extrae hasta valores DOUBLE de crgn y los coloca en el búfer al que apunta prgn.
Si variant contiene más elementos de los que caberán en el búfer de prgn , esta función devuelve un error y establece *pcElem en 0.
Ejemplos
En el ejemplo siguiente, que se va a incluir como parte de un programa más grande, se muestra cómo usar VariantToDoubleArray para tener acceso a una matriz DOUBLE almacenada en un VARIANT.
// VARIANT var;
// Assume variable var is initialized and valid.
DOUBLE rgDoubles[4]; // The application expects var to hold 4 DOUBLEs in an array.
ULONG cDoubles;
HRESULT hr = VariantToDoubleArray(var, rgDoubles, ARRAYSIZE(rgDoubles), &cFlags);
if (SUCCEEDED(hr))
{
if (cFlags == ARRAYSIZE(rgDoubles))
{
// The application got 4 DOUBLEs which are now stored in rgDoubles.
}
else
{
// The application got *pcElem DOUBLEs which are stored in the first
// *pcElem elements of rgDoubles.
}
}
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 |