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


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

Извлекает данные из структуры PROPVARIANT в только что выделенный короткий вектор без знака .

Синтаксис

PSSTDAPI PropVariantToUInt16VectorAlloc(
  [in]  REFPROPVARIANT propvar,
  [out] USHORT         **pprgn,
  [out] ULONG          *pcElem
);

Параметры

[in] propvar

Тип: REFPROPVARIANT

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

[out] pprgn

Тип: USHORT**

При возврате этой функцией содержит указатель на вектор коротких значений без знака, извлеченных из исходной структуры PROPVARIANT .

[out] pcElem

Тип: ULONG*

При возврате этой функцией содержит количество неподписанных коротких значений, извлеченных из исходной структуры PROPVARIANT .

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

Тип: HRESULT

Эта функция может возвращать одно из этих значений.

Код возврата Описание
S_OK
Возвращает S_OK в случае успешного выполнения или значение ошибки в противном случае
E_INVALIDARG
PROPVARIANT не был соответствующего типа.

Комментарии

Эта вспомогательская функция используется в тех местах, где вызывающее приложение ожидает proPVARIANT для хранения вектора неподписанных коротких значений.

Если исходный PROPVARIANT имеет тип VT_VECTOR | VT_UI2 или VT_ARRAY | VT_UI2, эта функция извлекает вектор неподписанных коротких значений во вновь выделенный вектор. Вызывающее приложение отвечает за использование CoTaskMemFree для освобождения вектора, на который указывает pprgn , когда он больше не нужен.

Примеры

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

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is expecting propvar to contain a vector of <dtype rid="ushort"/> values.
USHORT *prgShorts;
ULONG cElems;
HRESULT hr = PropVariantToUInt16VectorAlloc(propvar, & prgShorts, &cElems);
if (SUCCEEDED(hr))
{
     // prgShorts now points to a vector of cElems USHORTs.
     CoTaskMemFree(prgShorts);
}

Требования

Требование Значение
Минимальная версия клиента 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

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

InitPropVariantFromUInt16Vector

PropVariantGetUInt16Elem

PropVariantToUInt16

PropVariantToUInt16Vector

VariantToUInt16Array