那就是个假文件,实际是个外设。
和外设通信,用异步I/O就行,重叠I/O(overlapped I/O)就是异步的一种。
ReadFileEx()和IOCP都是重叠I/O,CreateFile()时要指定特殊标记FILE_FLAG_OVERLAPPED。
IOCP一般是用在服务端的,你这个场合用IOCP是杀鸡用牛刀。
异步I/O的好处是不用一直去尝试读写外设。而且可以取消掉未完成的读写操作,比如进程要退出时。
但是异步I/O也有些坑,比如
1、分配的缓冲区在异步I/O的整个操作区间要保持有效,不然就崩
2、进程/线程退出时要对异步I/O进行cancel操作,而且要等待cancel这个操作本身确实完成了,才能安全释放缓冲区。cancel本身也可能是异步的调用。
【 在 jesong 的大作中提到: 】
: 我实际是想监听usbtmc接口有没有数据来,Windows 下面好像没有对应的目录
: 发自「今日水木 on iPhone 7 Plus」
--
修改:z16166 FROM 125.35.121.*
FROM 125.35.121.*