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


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

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

Синтаксис

PSSTDAPI PropVariantToBooleanVectorAlloc(
  [in]  REFPROPVARIANT propvar,
  [out] BOOL           **pprgf,
  [out] ULONG          *pcElem
);

Параметры

[in] propvar

Тип: REFPROPVARIANT

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

[out] pprgf

Тип: BOOL**

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

[out] pcElem

Тип: ULONG*

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

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

Тип: HRESULT

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

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

Комментарии

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

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

Примеры

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

// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is 
// expecting propvar to contain a vector of Boolean values.
BOOL *prgFlags;
ULONG cFlags;
HRESULT hr = PropVariantToBooleanVectorAlloc(propvar, &prgFlags, &cFlags);

if (SUCCEEDED(hr))
{
     // The prgFlags variable now points to a vector that contains a count
     // of cFlags flags.
     CoTaskMemFree(prgFlags);
}

Требования

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

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

InitPropVariantFromBooleanVector

IsPropVariantVector

PropVariantGetBooleanElem

PropVariantToBooleanVector