SisRestoredLink 函数
SisRestoredLink 函数返回指定还原的 SIS 链接指向的一个或多个公用存储文件的名称。
语法
BOOL SisRestoredLink(
_In_ PVOID sisRestoreStructure,
_In_ PWCHAR restoredFileName,
_In_ PVOID reparseData,
_In_ ULONG reparseDataSize,
_Out_ PULONG countOfCommonStoreFilesToRestore,
_Out_ PWCHAR **commonStoreFilesToRestore
);
参数
-
sisRestoreStructure [in]
-
指向从 SisCreateRestoreStructure 返回的 SIS 还原结构的指针。
-
restoredFileName [in]
-
还原的 SIS 链接文件的完全限定文件名。
-
reparseData [in]
-
指向 SIS 重分析点内容的指针。 此重分析点包含描述还原的 SIS 链接的数据。 若要检索文件的重分析点数据,请使用 FSCTL_GET_REPARSE_POINT 控制代码。
-
reparseDataSize [in]
-
reparseData 指向的 SIS 重分析点内容的大小(以字节为单位)。
-
countOfCommonStoreFilesToRestore [out]
-
commonStoreFilesToRestore 参数中列出的文件数。
-
commonStoreFilesToRestore [out]
-
指向公用存储文件名数组的指针。 这些文件应以 与 SisCSFilesToBackupForLink 请求的通用存储文件相同的方式还原。
如果 countOfCommonStoreFilesToRestore 参数的值不为 0, 则 commonStoreFilesToRestore 参数的值将包含由于还原 SIS 链接而要还原的公用存储文件的名称。 如果值为 0,则表示已返回一次公用存储文件,或者卷上已存在这些文件。
返回值
如果成功完成,则此函数返回 TRUE ,否则返回 FALSE 。 调用 GetLastError 以获取有关调用失败原因的详细信息。
备注
应为每个已还原的 SIS 链接调用此函数。
对于每个还原操作,此函数最多返回每个公共存储文件一次;如果尝试还原看到相同公共存储文件的其他 SIS 链接,则不会导致返回该通用存储文件名。
此函数不会返回在备份操作期间调用 SisCSFilesToBackupForLink 时未返回的公用存储文件,前提是存储在介质上的 SIS 重新分析数据尚未损坏。
还原 SIS 链接时,还原操作应仅创建适当的稀疏文件,初始化任何分配的范围,然后完全按照在备份操作期间读取的数据写入 SIS 重新分析数据。 还原操作必须创建具有未分配范围的稀疏文件,而不是稀疏文件 (或非分析文件) 用零初始化。
请注意,如果磁盘上仍存在一个或多个通用存储文件,则此函数不一定标识与备份介质上的一组 SIS 链接对应的通用存储文件。 创建公共存储文件的数据流后,其内容永远不会更改,因此,如果磁盘上已存在该文件,则无需还原它。
通用存储文件名是全局唯一的,以确保还原操作的完整性,即使还原操作未在备份操作访问的启用了 SIS 的卷上发生也是如此。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|