ReadFileEx是一个Windows API函数。与ReadFile相似,只是它只能用于异步读取文件操作,异步操作完成后会调用指定的回调函数。
BOOL ReadFileEx(
HANDLE hFile, //文件的句柄
LPVOID lpBuffer, //用于接收数据的缓冲区
DWORD nNumberOfByteToRead, //允许接收的最大字节数
LPOVERLAPPED lpOverlapped, //一个OVERLAPPED结构的指针
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine //异步读取完成后调用的回调函数
);
参数
1、hFile
文件的句柄。这个参数可以是任何一个由带有FILE_FLAG_OVERLAPPED参数的CreateFile函数打开的句柄。这个句柄同时也需要有GENERIC_WRITE访问权限。
2、lpBuffer
指定容纳读入数据的一个缓冲区。除非读操作执行完毕,否则不要访问这个缓冲区。
3、nNumberOfBytesToRead
要读入的字节数。
4、lpOverlapped
一个指向OVERLAPPED类型的结构体指针,定义了一个异步操作的结构。使用这个函数时,结构中的hEvent字段会被忽略
5、lpCompletionRoutine
返回值
返回TRUE表示成功;
返回FALSE表示失败,并可用GetLastError得到错误代码。