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


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

Извлекает один элемент Int32 из PROPVARIANT типа VT_I4, VT_VECTOR | VT_I4 или VT_ARRAY | VT_I4.

Синтаксис

PSSTDAPI PropVariantGetInt32Elem(
  [in]  REFPROPVARIANT propvar,
  [in]  ULONG          iElem,
  [out] LONG           *pnVal
);

Параметры

[in] propvar

Тип: REFPROPVARIANT

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

[in] iElem

Тип: ULONG

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

[out] pnVal

Тип: LONG*

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

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

Тип: HRESULT

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

Комментарии

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

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

Примеры

В следующем примере этот PropVariantGetInt32Elem используется с оператором итерации для доступа к значениям в структуре PROPVARIANT .

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

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

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