Функция PropVariantToFileTimeVector (propvarutil.h)
Извлекает данные из структуры PROPVARIANT в вектор FILETIME.
Синтаксис
PSSTDAPI PropVariantToFileTimeVector(
[in] REFPROPVARIANT propvar,
[out] FILETIME *prgft,
[in] ULONG crgft,
[out] ULONG *pcElem
);
Параметры
[in] propvar
Тип: REFPROPVARIANT
Ссылка на исходную структуру PROPVARIANT .
[out] prgft
Тип: FILETIME*
Указывает на буфер, содержащий значения crgft FILETIME. При возврате этой функции буфер инициализирован с помощью элементов pcElem FILETIME, извлеченных из исходной структуры PROPVARIANT .
[in] crgft
Тип: ULONG
Размер в элементах буфера, на который указывает prgft.
[out] pcElem
Тип: ULONG*
При возврате этой функции содержит количество элементов FILETIME, извлеченных из исходной структуры PROPVARIANT .
Возвращаемое значение
Тип: HRESULT
Возвращает одно из следующих значений.
Код возврата | Описание |
---|---|
|
Возвращает S_OK в случае успешного выполнения или значение ошибки в противном случае. |
|
Исходный PROPVARIANT содержал больше значений crgn. Буфер, на который указывает prgft. |
|
PROPVARIANT не был соответствующего типа. |
Комментарии
Эта вспомоганная функция используется в местах, где вызывающее приложение ожидает , что PROPVARIANT будет содержать значение вектора filetime с фиксированным числом элементов.
Если исходный PROPVARIANT имеет тип VT_VECTOR | VT_FILETIME, эта вспомогательная функция извлекает до значений crgft FILETIME и помещает их в буфер, на который указывает prgft. Если PROPVARIANT содержит больше элементов, чем помещается в буфер prgft , эта функция возвращает ошибку и задает pcElem значение 0.
Выходные fileTIMEs будут использовать тот же часовой пояс, что и исходные FILETIMEs.
Примеры
В следующем примере, который будет включен в состав более крупной программы, показано, как использовать PropVariantToFileTimeVector для доступа к значению вектора FILETIME в PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
FILETIME rgTimes[4]; // The application is expecting propvar to hold 4 FILETIMEs in a vector
ULONG cTimes;
HRESULT hr = PropVariantToFileTimeVector(propvar, rgTime, ARRAYSIZE(rgTime), &cTimes);
if (SUCCEEDED(hr))
{
if (cTimes == ARRAYSIZE(rgTime))
{
// The application got 4 FILETIMEs which are now stored in rgTime
}
else
{
// The application got cTimes which are stored in the first cTimes elements of rgTime
}
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | 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 |