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


Метод IPreviousVersionsInfo::AreSnapshotsAvailable (shobjidl.h)

Запросы на доступность образа тома Windows Server 2003, записанного системой в более раннее время.

Синтаксис

HRESULT AreSnapshotsAvailable(
  [in]  LPCWSTR pszPath,
  [in]  BOOL    fOkToBeSlow,
  [out] BOOL    *pfAvailable
);

Параметры

[in] pszPath

Тип: LPCWSTR

Строка Юникода с символом NULL, содержащая полный путь к файлу или папке в соответствующем томе.

Примечание В настоящее время поддерживаются только пути к файлам и папкам, хранящимся на томе Windows Server 2003.
 

[in] fOkToBeSlow

Тип: BOOL

Логическое значение, указывающее, следует ли связаться с сервером для определения доступности сохраненных образов томов. Дополнительные сведения см. в разделе Примечания.

TRUE

Если результаты еще не кэшированы, обратитесь к серверу.

Ложь.

Не обращайтесь к серверу. Вместо этого используйте кэшированные результаты.

[out] pfAvailable

Тип: BOOL*

Указатель на логическую переменную, содержащую результат. Это значение допустимо только в том случае, если вызов метода выполнен успешно; в противном случае он не определен.

TRUE

Доступен по крайней мере один сохраненный образ тома, в котором находится файл или папка с именем в pszPath .

Ложь.

Образы томов не хранятся.

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

Тип: HRESULT

Возвращает стандартные значения ошибок, включая, помимо прочего, следующие:

Код возврата Описание
S_OK
Успешно.
E_PENDING
Значение 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 или более поздняя)