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


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

Извлекает структуру FILETIME из структуры PROPVARIANT .

Синтаксис

PSSTDAPI PropVariantToFileTime(
  [in]  REFPROPVARIANT propvar,
  [in]  PSTIME_FLAGS   pstfOut,
  [out] FILETIME       *pftOut
);

Параметры

[in] propvar

Тип: REFPROPVARIANT

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

[in] pstfOut

Тип: PSTIME_FLAGS

Задает один из следующих флагов времени.

PSTF_UTC (0)

Указывает, что выходные данные будут использовать координированное универсальное время.

PSTF_LOCAL (1)

Указывает, что выходные данные будут использовать местное время.

[out] pftOut

Тип: FILETIME*

При возврате этой функцией содержит извлеченную структуру FILETIME .

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

Тип: HRESULT

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

Комментарии

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

Если исходный PROPVARIANT имеет тип VT_FILETIME или VT_DATE, эта вспомогательская функция извлекает значение как FILETIME с помощью часового пояса, указанного в параметре pstfOut. Если исходный PROPVARIANT VT_EMPTY или любой другой тип, эта функция возвращает результат сбоя.

Исходный PROPVARIANT должен находиться в формате UTC. Флаги PSTF_UTC и PSTF_LOCAL позволяют вызывающему приложению указать часовой пояс, в который следует преобразовать выходные данные.

Примеры

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

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_DateModified, &propvar);
if (SUCCEEDED(hr))
{
     // PKEY_DateModified is expected to produce a VT_FILETIME or VT_EMPTY value.
     // PropVariantToFileTime will return a failure code for VT_EMPTY
     FILETIME ftModified;
     hr = PropVariantToFileTime(propvar, PSTF_UTC, &ftModified);
     if (SUCCEEDED(hr))
     {
        // ftModified is now valid and contains a file time in UTC
     }
     else
     {
        // Unable to convert propvar to a FILETIME
     }
     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

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

InitPropVariantFromFileTime

PropVariantChangeType

PropVariantToFileTimeVector

VariantToFileTime