Compartir a través de


Función PropVariantGetDoubleElem (propvarutil.h)

Extrae un único elemento double de una estructura PROPVARIANT de tipo VT_R8, VT_VECTOR | VT_R8o 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

Consulte también

PropVariantGetElem