Функция VariantToDouble (propvarutil.h)
Извлекает значение DOUBLE из структуры VARIANT . Если не удается извлечь значение, назначается значение по умолчанию.
Синтаксис
PSSTDAPI VariantToDouble(
[in] REFVARIANT varIn,
[out] DOUBLE *pdblRet
);
Параметры
[in] varIn
Тип: REFVARIANT
Ссылка на исходную структуру VARIANT .
[out] pdblRet
Тип: DOUBLE*
При возврате этой функции содержит извлеченное значение, если оно существует; в противном случае — 0,0.
Возвращаемое значение
Тип: HRESULT
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Эта вспомогательная функция используется, когда вызывающее приложение ожидает , что variant будет содержать значение DOUBLE . Например, приложение, которое получает значения из папки оболочки, может использовать эту функцию для безопасного извлечения значения из одного из свойств папки, значение которого хранится как DOUBLE.
Если исходный variant имеет тип VT_R8, эта функция извлекает значение DOUBLE .
Если исходный вариант VARIANT не относится к типу VT_R8, функция пытается преобразовать значение, хранящееся в структуре VARIANT , в ЗНАЧЕНИЕ DOUBLE. Если преобразование невозможно, VariantToDouble возвращает код сбоя и задает для pdblRet значение 0.0
. Список возможных преобразований см. в разделе PropVariantChangeType . Обратите внимание, что VT_EMPTY успешно преобразуется в 0,0.
Примеры
В следующем примере, который будет включен в более крупную программу, показано, как использовать VariantToDouble для доступа к значению DOUBLE , хранящееся в структуре VARIANT .
// VARIANT var;
// Assume variable var is initialize and valid.
// The application expects var to hold a VT_R8 value.
DOUBLE dblValue;
HRESULT hr = VariantToDouble(var, & dblValue);
if (SUCCEEDED(hr))
{
// dblValue is now valid.
}
else
{
// dblValue 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 |