Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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 |