Compartir a través de


Función PropVariantGetInt16Elem (propvarutil.h)

Extrae un único elemento Int16 de una estructura PROPVARIANT de tipo VT_I2, VT_VECTOR | VT_I2 o VT_ARRAY | VT_I2.

Sintaxis

PSSTDAPI PropVariantGetInt16Elem(
  [in]  REFPROPVARIANT propvar,
  [in]  ULONG          iElem,
  [out] SHORT          *pnVal
);

Parámetros

[in] propvar

Tipo: REFPROPVARIANT

Referencia a la estructura PROPVARIANT de origen.

[in] iElem

Tipo: ULONG

Índice de vector o matriz; de lo contrario, este valor debe ser 0.

[out] pnVal

Tipo: SHORT*

Cuando se devuelve esta función, contiene el valor de elemento Int32 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

Esta función auxiliar funciona para las estructuras PROPVARIANT de los siguientes tipos.

  • VT_I2
  • VT_VECTOR | VT_I2
  • VT_ARRAY | VT_I2
Si el PROPVARIANT de origen tiene el tipo VT_I2, 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 en el vector o matriz.

Ejemplos

En el ejemplo siguiente, para incluirse como parte de un programa mayor, se muestra cómo usar PropVariantGetInt16Elem con una instrucción de iteración para tener acceso a los valores de un PROPVARIANT.

// PROPVARIANT propvar;
    // Assume propvar is initialized and valid;
    
    if ((propvar.vt & VT_TYPEMASK) == VT_I2)
    {
        UINT cElem = PropVariantGetElementCount(propvar);
        HRESULT hr = <mark type="const">S_OK</mark>;
    
        for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
        {
            SHORT nValue;
            hr = PropVariantGetInt16Elem(propvar, iElem, &nValue);
    
            if (SUCCEEDED(hr))
            {
                // nValue is valid now
            }
        }
    }

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

PropVariantGetElem