(vsbackup.h) 的 IVssBackupComponents::Query 方法
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 枚举器对象的双重间接指针。
返回值
下面是此方法的有效返回代码。
值 | 含义 |
---|---|
|
已成功返回指向 IVssEnumObject 接口实例的指针。 |
|
调用方不是管理员或备份操作员。 |
|
其中一个参数值无效。 |
|
内存不足或其他系统资源不足。 |
|
备份组件对象未初始化,在还原操作期间调用了此方法,或者未按正确的顺序调用此方法。 |
|
找不到查询的对象。 |
|
预期的提供程序错误。 提供程序在事件日志中记录了错误。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
|
意外错误。 错误代码记录在错误日志文件中。 有关详细信息,请参阅 VSS 下的事件和错误处理。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 在 Windows Server 2008 R2 和 Windows 7 之前不支持此值。 改用E_UNEXPECTED。 |
|
意外的提供程序错误。 错误代码记录在错误日志中。 有关详细信息,请参阅 VSS 下的事件和错误处理。 |
注解
由于 Query 仅返回已完成卷影副本的信息,因此它可以公开的唯一卷影副本状态是VSS_SS_COMPLETED。
方法只能在备份操作期间调用,并且必须先调用 IVssBackupComponents::InitializeForBackup 和 IVssBackupComponents::SetContext。
虽然 Query 可以返回有关系统上所有可用提供程序的信息,但它将仅返回有关当前上下文 (由 IVssBackupComponents::SetContext) 设置的卷影副本的信息。 例如,如果 _VSS_SNAPSHOT_CONTEXT 上下文设置为 VSS_CTX_BACKUP, 则查询 不会返回有关使用 VSS_CTX_FILE_SHARE_BACKUP 上下文创建的卷影副本的信息。
虽然此方法当前返回所有可用提供程序和/或所有已完成卷影副本的列表,但将来可能支持专用查询:例如,查询与提供程序关联的所有卷影副本。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vsbackup.h (包括 VsBackup.h、Vss.h、VsWriter.h) |
Library | VssApi.lib |
另请参阅
IVssBackupComponents::InitializeForBackup