Поделиться через


Функция PropVariantGetInt16Elem (propvarutil.h)

Извлекает один элемент Int16 из структуры PROPVARIANT типа VT_I2, VT_VECTOR | VT_I2 или VT_ARRAY | VT_I2.

Синтаксис

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

Параметры

[in] propvar

Тип: REFPROPVARIANT

Ссылка на исходную структуру PROPVARIANT .

[in] iElem

Тип: ULONG

Индекс вектора или массива; В противном случае это значение должно быть равно 0.

[out] pnVal

Тип: SHORT*

При возврате этой функции содержит извлеченное значение элемента Int32.

Возвращаемое значение

Тип: HRESULT

Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Эта вспомогательная функция работает для структур PROPVARIANT следующих типов.

  • VT_I2
  • VT_VECTOR | VT_I2
  • VT_ARRAY | VT_I2
Если исходный PROPVARIANT имеет тип VT_I2, iElem должен иметь значение 0. В противном случае значение iElem должно быть меньше числа элементов в векторе или массиве. Для получения количества элементов в векторе или массиве можно использовать PropVariantGetElementCount .

Примеры

В следующем примере, который будет включен в состав более крупной программы, показано, как использовать PropVariantGetInt16Elem с оператором итерации для доступа к значениям в 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
            }
        }
    }

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2), Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения]
Целевая платформа Windows
Header propvarutil.h
Библиотека Propsys.lib
DLL Propsys.dll (версия 6.0 или более поздняя)
Распространяемые компоненты Windows Desktop Search (WDS) 3.0

См. также раздел

PropVariantGetElem