版主原谅,我实在不知道这个问题属于哪一类,关于串口打印机的编程问题

micro2000 2003-09-11 05:32:24
我的设备是一个串口打印机,因为在相应串口上安装了打印机驱动程序,如果把卸载了打印机驱动,就可以GetCommState,问为什么装了打印机驱动就不能GetCommState?


1.创建文件:
m_hCom = CreateFile(lpszPortNum,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,NULL);

2.获取串口状态:
bRet = GetCommState(m_hCom,&dcb);
如果没有装驱动,bRet返回1,成功;如果安装驱动,bRet=0,失败;
然后使用GetLastError获得错误码为1,什么功能错误,这是为什么?

我想,不会是说装了打印驱动就不能再GetCommState了吧,是不是什么地方参数不对啊?

说明一下,打印机是Epson的微打 TM-U210AM,当然TM-U300A也一样

...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
flinming 2003-09-12
  • 打赏
  • 举报
回复
up
micro2000 2003-09-12
  • 打赏
  • 举报
回复
自己顶一下
everandforever 2003-09-12
  • 打赏
  • 举报
回复
The GetCommState function retrieves the current control settings for a specified communications device.
___________
装了打印驱动之后, 串口就不再是串口了吧, 而是打印机. 打印机当然不属于 communications device. 所以返回错误"Incorrect function. "
AthlonxpX86 2003-09-11
  • 打赏
  • 举报
回复
这类问题还没遇到过,帮你up

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧