现在的位置: 首页 > 综合 > 正文

WriteFileEx 和 ReadFileEx

2013年09月05日 ⁄ 综合 ⁄ 共 877字 ⁄ 字号 评论关闭

BOOL WriteFileEx(
  HANDLE hFile,
  LPCVOID lpBuffer,
  DWORD nNumberOfBytesToWrite,
  LPOVERLAPPED lpOverlapped,
  LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);

说明:将数据写入文件。该函数只能用于异步I/O操作,即overlapped I/O。 注:WriteFile()可以用于同步和异步I/O操作。

hFile:file句柄,可以使用CreateFile()函数创建,且只有使用FILE_FLAG_OVERLAPPED标识创建的file句柄才可以调用此函数。
lpBuffer:指向数据的指针
nNumberOfBytesToWrite:需要写入的字节数。
lpOverlapped:OVERLAPPED变量的指针。
lpCompletionRoutine :函数指针。此可以称为异步过程调用(Asynchronous Procedure Calls,APCs)。函数原型为
VOID CALLBACK FileIOCompletionRoutine(
  DWORD dwErrorCode,
  DWORD dwNumberOfBytesTransfered,
  LPOVERLAPPED lpOverlapped
);
需要注意以下两点:
1.异步过程调用中只能使用"Ex"版的ReadFile()和WriteFile()。
2.在ReadFileEx()和WriteFileEx()。指定的OVERLAPPED中的hEvent栏位不需要用来放置一个event handle。可以自由运用。一般
可以在此放置有用的指针。

BOOL ReadFileEx(
  HANDLE hFile,
  LPVOID lpBuffer,
  DWORD nNumberOfBytesToRead,
  LPOVERLAPPED lpOverlapped,
  LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
说明:读入数据。参数与上同。 

抱歉!评论已关闭.