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


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

Извлекает значение логического свойства из структуры VARIANT . Если не удается извлечь значение, назначается значение по умолчанию.

Синтаксис

PSSTDAPI VariantToBoolean(
  [in]  REFVARIANT varIn,
  [out] BOOL       *pfRet
);

Параметры

[in] varIn

Тип: REFVARIANT

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

[out] pfRet

Тип: BOOL*

При возврате этой функции содержит извлеченное значение, если оно существует; в противном случае — FALSE.

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

Тип: HRESULT

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

Комментарии

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

Если исходный variant имеет тип VT_BOOL, эта функция извлекает значение BOOL .

Если исходный вариант VARIANT не имеет типа VT_BOOL, эта функция пытается преобразовать значение в структуре VARIANT в BOOL. Если преобразование невозможно, VariantToBoolean возвращает код сбоя и устанавливает для параметра pfRetзначение FALSE. Список возможных преобразований см. в разделе PropVariantChangeType . Обратите внимание, что VT_EMPTY успешно преобразуется в FALSE.

Примеры

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

// VARIANT var;
// Assume variable var is initialize and valid. 
// The application expects it to hold a VT_BOOL value.
BOOL fValue;

HRESULT hr = VariantToBoolean(var, &fValue);

if (SUCCEEDED(hr))
{
    // fValue is now valid.
}
else
{
    // fValue is always FALSE.
}

Требования

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

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

InitVariantFromBoolean

PropVariantChangeType

PropVariantToBoolean

VariantToBooleanArray