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


Метод IVssBackupComponents::Query (vsbackup.h)

Метод Query запрашивает поставщиков в системе и (или) завершенные теневые копии в системе, которые находятся в текущем контексте. Метод можно вызывать только во время операций резервного копирования.

Синтаксис

HRESULT Query(
  [in]  VSS_ID          QueriedObjectId,
  [in]  VSS_OBJECT_TYPE eQueriedObjectType,
  [in]  VSS_OBJECT_TYPE eReturnedObjectsType,
  [out] IVssEnumObject  **ppEnum
);

Параметры

[in] QueriedObjectId

Зарезервировано. Значение этого параметра должно быть GUID_NULL.

[in] eQueriedObjectType

Указывает ограничение запроса заданным типом объекта. Значение VSS_OBJECT_NONE указывает на отсутствие ограничений, т. е. все объекты будут запрашиваться.

В настоящее время значение этого параметра должно быть VSS_OBJECT_NONE.

[in] eReturnedObjectsType

Возвращаемые типы объектов. Значение этого параметра должно быть VSS_OBJECT_SNAPSHOT или VSS_OBJECT_PROVIDER.

[out] ppEnum

Вдвойне косвенный указатель на объект перечислителя IVssEnumObject .

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

Ниже приведены допустимые коды возврата для этого метода.

Значение Значение
S_OK
Успешно возвращен указатель на экземпляр интерфейса IVssEnumObject .
E_ACCESSDENIED
Вызывающий объект не является администратором или оператором резервного копирования.
E_INVALIDARG
Одно из значений параметра недопустимо.
E_OUTOFMEMORY
Нехватка памяти или других системных ресурсов.
VSS_E_BAD_STATE
Объект компонентов резервного копирования не инициализирован, этот метод был вызван во время операции восстановления или этот метод не был вызван в правильной последовательности.
VSS_E_OBJECT_NOT_FOUND
Запрашиваемый объект не найден.
VSS_E_PROVIDER_VETO
Ожидаемая ошибка поставщика. Поставщик зарегистрировал ошибку в журнале событий. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.
VSS_E_UNEXPECTED
Непредвиденная ошибка. Код ошибки записывается в файл журнала ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается до Windows Server 2008 R2 и Windows 7. вместо этого используется E_UNEXPECTED.

VSS_E_UNEXPECTED_PROVIDER_ERROR
Непредвиденная ошибка поставщика. Код ошибки регистрируется в журнале ошибок. Дополнительные сведения см. в разделе Обработка событий и ошибок в VSS.

Комментарии

Так как запрос возвращает только сведения о завершенных теневых копиях, единственным состоянием теневого копирования, которое может быть раскрыто, является VSS_SS_COMPLETED.

Метод может вызываться только во время операций резервного копирования и должен предшествовать вызовам IVssBackupComponents::InitializeForBackup и IVssBackupComponents::SetContext.

Хотя запрос может возвращать сведения обо всех поставщиках, доступных в системе, он возвращает только сведения о теневых копиях с текущим контекстом (задается IVssBackupComponents::SetContext). Например, если для контекста _VSS_SNAPSHOT_CONTEXT задано значение VSS_CTX_BACKUP, запрос не будет возвращать сведения о теневой копии, созданной с контекстом VSS_CTX_FILE_SHARE_BACKUP.

Хотя этот метод в настоящее время возвращает список всех доступных поставщиков и (или) все завершенные теневые копии, в будущем могут поддерживаться специализированные запросы: например, запросы ко всем теневым копиям, связанным с поставщиком.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header vsbackup.h (включая VsBackup.h, Vss.h, VsWriter.h)
Библиотека VssApi.lib

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

IVssBackupComponents

IVssBackupComponents::InitializeForBackup

IVssBackupComponents::SetContext

IVssEnumObject