function”这种错误从而导致无法正常使用,目前未找到相关原因关于设置重叠(FILE_FLAG_OVERLAPPED)操作的相关操作,也存在一些问题WaitForSingleObject()函数返回的值不正确,导致操作一直在不断循环(这裏可能是我操作的时候没有注意细节导致的)ReadFile最后一个参数需要有CreateEVent(NULL,TRUE,FALSE,NULL)(事件对象设置为人工重置)。
最后实在没有办法了于是就用了多线程嘚方式,对读写操作都是用线程处理用WaitForSingleObjiect()来监控,这样WriteFile和ReadFile操作都没有阻塞了但是在CancelHandle()的时候,CancelHandle会出现阻塞在别人的博客上看到对ReadFile调用线程使用CancelSynchronousIo()(取消读操作)就可以了,试了下该方法是可以正常运行的。
关于CreateFile打开设备时需要设置的参数在MSDN中都有详细描述