Функция PropVariantToBooleanWithDefault (propvarutil.h)
Извлекает значение логического свойства структуры PROPVARIANT . Если значение не существует, возвращается указанное значение по умолчанию.
Синтаксис
PSSTDAPI_(BOOL) PropVariantToBooleanWithDefault(
[in] REFPROPVARIANT propvarIn,
[in] BOOL fDefault
);
Параметры
[in] propvarIn
Тип: REFPROPVARIANT
Ссылка на исходную структуру PROPVARIANT .
[in] fDefault
Тип: BOOL
Задает значение свойства по умолчанию для использования, если значение в настоящее время не существует.
Возвращаемое значение
Тип: BOOL
Извлеченное логическое значение или значение по умолчанию.
Комментарии
Эта вспомогательская функция используется в тех местах, где вызывающее приложение ожидает proPVARIANT для хранения логического значения и хочет использовать значение по умолчанию, если это не так. Например, приложение, которое получает значения из хранилища свойств, может использовать его для безопасного извлечения логического значения для логических свойств.
Если исходный PROPVARIANT имеет тип VT_BOOL, эта вспомогательный функция извлекает логическое значение. В противном случае он пытается преобразовать значение в структуре PROPVARIANT в логическое значение. Если исходный PROPVARIANT имеет тип VT_EMPTY или преобразование невозможно, то PropVariantToBooleanWithDefault возвращает значение по умолчанию, предоставленное fDefault. Список возможных преобразований см. в разделе PropVariantChangeType .
Примеры
В следующем примере, который будет включен в состав более крупной программы, показано, как использовать PropVariantToBooleanWithDefault для доступа к логическому значению в PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume the variable ppropstore is initialized and valid.
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_IsRead, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_IsRead is expected to produce a VT_BOOL or VT_EMPTY value.
// The application developer decided to treat VT_EMPTY or invalid values as TRUE
BOOL fShared = PropVariantToBooleanWithDefault(propvar, TRUE);
// fShared is now valid.
PropVariantClear(&propvar);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | 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 |