IPreviousVersionsInfo::AreSnapshotsAvailable 方法 (shobjidl.h)
查询系统在较早时间记录的 Windows Server 2003 卷映像的可用性。
语法
HRESULT AreSnapshotsAvailable(
[in] LPCWSTR pszPath,
[in] BOOL fOkToBeSlow,
[out] BOOL *pfAvailable
);
参数
[in] pszPath
类型: LPCWSTR
一个以 null 结尾的 Unicode 字符串,包含有关卷上文件或文件夹的完全限定路径。
[in] fOkToBeSlow
类型: BOOL
一个布尔值,指定是否应联系服务器以确定存储卷映像的可用性。 有关更多详细信息,请参阅备注部分。
TRUE
如果尚未缓存结果,请联系服务器。
FALSE
请勿联系服务器。 请改用缓存的结果。
[out] pfAvailable
类型: BOOL*
指向包含结果的布尔变量的指针。 仅当方法调用成功时,此值才有效;否则,它是未定义的。
TRUE
pszPath 中名为 的文件或文件夹所在的卷的至少一个存储映像可用。
FALSE
不存储卷映像。
返回值
类型: HRESULT
返回标准错误值,包括但不限于以下内容:
返回代码 | 说明 |
---|---|
|
成功。 |
|
fOkToBeSlow 为 FALSE ,并且当前未缓存结果。 |
注解
如果在文件或文件夹上调用了 IPreviousVersionsInfo::AreSnapshotsAvailable,则结果并不表示回滚信息可用于该特定文件或文件夹,而只是整个卷的快照可用。 此结果是缓存的,后续调用会询问存储在同一卷上的任何内容,访问缓存的结果(性能开销很少),而不是重新连接服务器。
在内存中缓存服务器的响应后,即使 fOkToBeSlow 为 TRUE,后续调用也不会联系服务器。 如果 fOkToBeSlow 为 FALSE ,并且服务器的响应尚未从上一次调用缓存,则该方法将返回E_PENDING。 在这种情况下,请将 fOkToBeSlow 设置为 TRUE ,然后再次调用 IPreviousVersionsInfo::AreSnapshotsAvailable 以联系服务器。
为了获得更好的性能,调用此方法的 UI 线程应始终将 fOkToBeSlow 设置为 FALSE。 如果方法返回E_PENDING,请执行以下步骤。
- 在后台线程上创建另一个 IPreviousVersionsInfo 实例。
- 调用 IPreviousVersionsInfo::AreSnapshotsAvailable 且 fOkToBeSlow 设置为 TRUE。
- 向原始 UI 线程发出信号,以再次调用 IPreviousVersionsInfo::AreSnapshotsAvailable 。 然后从缓存中拉取结果。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl.h |
DLL | Twext.dll (版本 5.2 或更高版本) |