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