FlushFileBuffers功能清除指定文件的缓冲区,并将所有缓冲的数据写入文件。
BOOL FlushFileBuffers(
HANDLE 【HFILE】 | //打开其缓冲区要刷新的文件的句柄 |
); |
参数
【HFILE】
一个打开的文件句柄。该函数刷新该文件的缓冲区。文件句柄必须对该文件具有GENERIC_WRITE权限。
如果【HFILE】是通信设备的句柄,则该函数仅刷新发送缓冲区。
如果【HFILE】是命名管道的服务器端的句柄,则在客户端从管道读取所有缓冲数据之前,该函数不会返回。
Windows NT:如果【HFILE】是控制台输出的句柄,则该函数失败。这是因为控制台输出没有缓冲。该函数返回FALSE,GetLastError返回ERROR_INVALID_HANDLE。
Windows 95:如果【HFILE】是控制台输出的句柄,则该函数不起作用。这是因为控制台输出没有缓冲。该函数返回TRUE,但不执行任何操作。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
WriteFile和WriteFileEx函数通常将数据写入操作系统定期向磁盘写入的内部缓冲区。FlushFileBuffers功能将指定文件的所有缓冲信息写入磁盘。
您可以将_lread,_lwrite,_lcreat和相关功能使用的相同文件句柄传递给FlushFileBuffers.
也可以看看