Метод IPreviousVersionsInfo::AreSnapshotsAvailable (shobjidl.h)
Запросы на доступность образа тома Windows Server 2003, записанного системой в более раннее время.
Синтаксис
HRESULT AreSnapshotsAvailable(
[in] LPCWSTR pszPath,
[in] BOOL fOkToBeSlow,
[out] BOOL *pfAvailable
);
Параметры
[in] pszPath
Тип: LPCWSTR
Строка Юникода с символом NULL, содержащая полный путь к файлу или папке в соответствующем томе.
[in] fOkToBeSlow
Тип: BOOL
Логическое значение, указывающее, следует ли связаться с сервером для определения доступности сохраненных образов томов. Дополнительные сведения см. в разделе Примечания.
TRUE
Если результаты еще не кэшированы, обратитесь к серверу.
Ложь.
Не обращайтесь к серверу. Вместо этого используйте кэшированные результаты.
[out] pfAvailable
Тип: BOOL*
Указатель на логическую переменную, содержащую результат. Это значение допустимо только в том случае, если вызов метода выполнен успешно; в противном случае он не определен.
TRUE
Доступен по крайней мере один сохраненный образ тома, в котором находится файл или папка с именем в pszPath .
Ложь.
Образы томов не хранятся.
Возвращаемое значение
Тип: HRESULT
Возвращает стандартные значения ошибок, включая, помимо прочего, следующие:
Код возврата | Описание |
---|---|
|
Успешно. |
|
Значение fOkToBeSlow равно FALSE , и результат в настоящее время не кэшируется. |
Комментарии
Если для файла или папки вызывается IPreviousVersionsInfo::AreSnapshotsAvailable, результат не указывает на то, что сведения о откате доступны для этого конкретного файла или папки, а лишь на то, что доступен snapshot всего тома. Этот результат кэшируется, и последующие вызовы, запрашивающие все данные, хранящиеся в том же томе, обращаются к кэшируемым результатам с небольшими издержками на производительность вместо повторного анализа сервера.
После кэширования ответа сервера в памяти последующие вызовы не связываются с сервером, даже если параметр fOkToBeSlow имеет значение TRUE. Если fOkToBeSlow имеет значение FALSE и ответ сервера еще не кэширован из предыдущего вызова, метод возвращает E_PENDING. В этом случае задайте для fOkToBeSlowзначение TRUE и вызовите IPreviousVersionsInfo::AreSnapshotsAvailable еще раз, чтобы связаться с сервером.
Для повышения производительности поток пользовательского интерфейса, вызывающий этот метод, должен всегда задавать для параметра fOkToBeSlowзначение FALSE. Если метод возвращает E_PENDING, выполните следующие действия.
- Создайте другой экземпляр IPreviousVersionsInfo в фоновом потоке.
- Вызовите IPreviousVersionsInfo::AreSnapshotsAvailable , если для fOkToBeSlow задано значение TRUE.
- Сообщите исходному потоку пользовательского интерфейса снова вызвать IPreviousVersionsInfo::AreSnapshotsAvailable . Затем результаты извлекаются из кэша.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl.h |
DLL | Twext.dll (версия 5.2 или более поздняя) |