实验九:采用异步方式实现文件读/写
一、实验目的
(1).了解Windows系统异步文件读/写的概念。
(2).熟悉Windows系统文件读/写相关的API。
(3).掌握采用异步方式实现文件读/写的相关参数设置。
二、实验准备
文件异步传输及相关API函数介绍:
1. 文件异步传输基本原理:
文件异步传输是一种改变指令执行顺序的机制。一般而言,指令是顺序执行的,下一条指令必须在上一条指令执行完毕才可执行。Windows XP 系统中提供了异步传输机制可以解决这个问题。它通过打开文件时设置标志位表明文件采用异步传输方式,这样,进程不等待读写操作而继续执行。当指令必须用到磁盘访问结果的数据时,可通过一条Wait指令进行等待。文件异步传输时,访问磁盘指令和等待指令之间的指令与磁盘访问并发进行。从而大大加快了系统处理I/O的速度。
2. 相关API函数介绍:
函数GetOverlappedResult()返回指定文件 命名通道或通信设备上OVERLAPPED操纵的结果。
原型:
Bool GetOverlappedResult(
HANDLE hFile //文件、命名通道或通信设备的句柄
LPOVERLAPPED lpOverlapped, //指向OVERLAPPED结构的指针
LPDWORD lpNumberOfBytesTransferred, //指向实际传输字节数的指针
BOOL bWait //等待标志
);
参数说明:
(1) hFile:文件、命名通道或通信设备的句柄,。
(2) lpOverlaooed:指向OVERLAPPED结构的指针。
(3) lpNumberOfBytesTransf