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


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

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

Синтаксис

PSSTDAPI PropVariantGetUInt16Elem(
  [in]  REFPROPVARIANT propvar,
  [in]  ULONG          iElem,
  [out] USHORT         *pnVal
);

Параметры

[in] propvar

Тип: REFPROPVARIANT

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

[in] iElem

Тип: ULONG

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

[out] pnVal

Тип: USHORT*

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

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

Тип: HRESULT

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

Комментарии

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

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

Примеры

В следующем примере, который будет включен в более крупную программу, показано, как использовать PropVariantGetUInt16Elem с оператором итерации для доступа к значениям в PROPVARIANT.

// PROPVARIANT propvar;
// Assume propvar is initialized and valid;

if ((propvar.vt & VT_TYPEMASK) == VT_UI2)
{
    UINT cElem = PropVariantGetElementCount(propvar);
    HRESULT hr = <mark type="const">S_OK</mark>;

    for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
    {
        USHORT nValue;
        hr = PropVariantGetUInt16Elem(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