BackupRead

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

BackupRead功能将与指定文件或目录关联的数据读入缓冲区。您可以使用此函数来备份文件或目录。

BOOL BackupRead(

HANDLE 【HFILE】,//处理文件或目录
LPBYTE 【lpBuffer】,//指向要读取的缓冲区的指针
DWORD 【nNumberOfBytesToRead】,//要读取的字节数
LPDWORD 【lpNumberOfBytesRead】,//指向变量的指针,以接收读取的字节数
BOOL 【bAbort】,//终止类型
BOOL 【bProcessSecurity】,//进程安全标志
LPVOID *【lpContext】//指向指向内部上下文信息的指针
); 

参数

【HFILE】

处理要备份的文件或目录。该函数读取与此文件相关的数据。通过调用CreateFile函数获取此句柄。

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

【lpBuffer】

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

【nNumberOfBytesToRead】

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

【lpNumberOfBytesRead】

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

如果函数返回值为TRUE,并且【lpNumberOfBytesRead】指向的变量为零,则所有与文件句柄相关联的数据都已被读取。

【bAbort】

指示BackupRead是否异常终止。如果该值为TRUE,则操作异常终止,所有缓冲区都被取消分配。

【bProcessSecurity】

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

如果【bProcessSecurity】为TRUE,则ACL数据将被备份。

【lpContext】

指向一个变量的指针,该变量接收并保存由BackupRead用于在备份操作期间维护上下文信息的内部数据结构的指针。

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

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

返回值

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

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

备注

BackupRead将与打开的对象相关的所有数据作为一系列离散字节流进行处理。每个流之前是一个32位对齐的WIN32_STREAM_ID结构。

流必须按照写入磁带的顺序进行处理。该排序使应用程序能够将备份的数据与源设备上的数据进行比较。BackupRead返回的数据仅作为BackupWrite功能的输入使用。该数据作为分成子流的一个大数据流返回。子流由WIN32_STREAM_ID标题分隔。

如果BackupRead正在读取时发生错误,则调用进程可以通过调用BackupSeek功能来跳过错误数据。

也可以看看

BackupWrite, BackupSeek, WIN32_STREAM_ID