BackupWrite

【勇芳软件工作室】汉化HomePreviousNext

BackupWrite函数将数据流从缓冲区写入指定的文件或目录。数据必须分为由WIN32_STREAM_ID结构分隔的子流。您可以使用此函数来还原已备份的文件或目录。

BOOL BackupWrite(

HANDLE 【HFILE】,//处理文件或目录
LPBYTE 【lpBuffer】,//指向缓冲区的指针,其中包含要写入的数据
DWORD 【nNumberOfBytesToWrite】,//要写入的字节数
LPDWORD 【lpNumberOfBytesWritten】,//指向变量的指针,以接收写入的字节数
BOOL 【bAbort】,//终止类型
BOOL 【bProcessSecurity】,//进程安全性
LPVOID *【lpContext】//指向指向内部上下文信息的指针
); 

参数

【HFILE】

处理要恢复的文件或目录。该函数将数据写入此文件。您可以通过调用CreateFile函数获取此句柄。

如果CreateFile被标记为FILE_FLAG_NO_BUFFERING,则BackupWrite功能失败。在这种情况下,GetLastError 函数返回值ERROR_INVALID_PARAMETER。

【lpBuffer】

指向该函数写入数据的缓冲区的指针。

【nNumberOfBytesToWrite】

指定缓冲区的长度。缓冲区大小必须大于WIN32_STREAM_ID结构的大小。

【lpNumberOfBytesWritten】

指向变量的指针,当函数返回时,包含写入的字节数。

【bAbort】

指定BackupWrite是否异常终止。如果该值为TRUE,则操作异常终止,并且所有缓冲区都被释放。

【bProcessSecurity】

指定该函数是否还原文件或目录的访问控制列表(ACL)数据。

如果【bProcessSecurity】为TRUE,则在打开文件或目录句柄时需要指定WRITE_OWNER和WRITE_DAC访问。如果句柄不具有访问权限,则操作系统拒绝对ACL数据的访问,并且不会进行ACL数据恢复。

【lpContext】

指向变量的指针,该变量接收并保存由BackupWrite使用的内部数据结构的指针,以在还原操作期间维护上下文信息。

在首次调用指定的文件或目录之前,必须先将【lpContext】指向的变量设置为NULL。该函数为数据结构分配内存,然后将变量设置为指向该结构。您不得更改【lpContext】或其对BackupWrite的呼叫之间指向的变量。

要释放数据结构使用的内存,请在BackupWrite中将【bAbort】参数设置为TRUE,当还原操作完成时。

返回值

如果函数成功,返回值不为零。

如果函数失败,则返回值为零,表示发生了I / O错误。要获取扩展错误信息,请调用GetLastError.

备注

BACKUP_LINK流类型可让您使用硬链接恢复文件。

通过BackupRead函数获取的数据只能用作BackupWrite函数的输入。

也可以看看

BackupRead, BackupSeek, CreateFile, WIN32_STREAM_ID