Función PropVariantGetDoubleElem (propvarutil.h)
Extrae un único elemento double de una estructura PROPVARIANT de tipo VT_R8
, VT_VECTOR | VT_R8
o VT_ARRAY | VT_R8
.
Sintaxis
PSSTDAPI PropVariantGetDoubleElem(
[in] REFPROPVARIANT propvar,
[in] ULONG iElem,
[out] DOUBLE *pnVal
);
Parámetros
[in] propvar
Tipo: REFPROPVARIANT
Referencia a la estructura PROPVARIANT de origen.
[in] iElem
Tipo: ULONG
Especifica el índice de vector o matriz; de lo contrario, iElem debe ser 0.
[out] pnVal
Tipo: DOUBLE*
Cuando se devuelve esta función, contiene el valor doble extraído.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Si el PROPVARIANT de origen tiene el tipo VT_R8
, iElem debe ser 0. De lo contrario , iElem debe ser menor que el número de elementos del vector o matriz. Puede usar PropVariantGetElementCount para obtener el número de elementos del vector o matriz.
En el ejemplo siguiente se usa esta función para recorrer en bucle los valores de una estructura PROPVARIANT .
Ejemplos
// PROPVARIANT propvar;
// assume propvar is initialized and valid
if ((propvar.vt & VT_TYPEMASK) == VT_R8)
{
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;
for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
DOUBLE nValue;
hr = PropVariantGetDoubleElem(propvar, iElem, &nValue);
if (SUCCEEDED(hr))
{
// nValue is valid now
}
}
}
Requisitos
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 | Windows Desktop Search (WDS) 3.0 |