题记:最近在学习Windows SDK编程,打算在这里贴出自己的学习总结和心得与大家交流,主要参考资料来自<Windows via C/C++ 5th>和<Programming Windows>。我尽量用英文术语来表达技术概念,方便大家查找其它资料。第一篇从异步IO(Asynchronous IO)说起,以文件IO作为代表。
异步IO是现代操作系统必不可少的特性,它让宝贵的CPU计算资源不会浪费在等待慢速IO上。它的行为方式很直观,用户线程在发送IO请求(Issue IO Request)后不用一直挂起,直到IO完成,而是直接返回继续执行其它任务。在设备驱动(Device Driver)完成IO请求后,会通知用户线程数据传输已完成,可以进行相关操作。Windows异步IO的过程主要有两步:1)向设备驱动发送IO请求,2)设备驱动在完成IO请求后通知用户已完成数据传输,即完成通知(Completion Notification)。这一篇主要介绍第一步:发送IO请求。
Windows SDK中关于文件异步IO的操作,主要涉及这样几个基本函数CreateFile,ReadFile,WriteFile。
1,
此函数用于打开一个设备,当然包括文件。当准备发送一个异步IO请求时,必须
Windows SDK编程:异步IO(Asynchronous IO)初步解析

本文介绍了Windows异步IO在文件操作中的应用,重点讲解了CreateFile、ReadFile和WriteFile函数在异步IO中的使用,以及OVERLAPPED结构在异步IO请求中的关键作用。通过示例代码解释了如何处理异步IO请求的完成状态,并讨论了错误处理和队列管理。
最低0.47元/天 解锁文章
1104

被折叠的 条评论
为什么被折叠?



