关于WinCE流接口驱动支持10以上的端口号(COM10)

一般情况下,WinCE流驱动的索引为0~9。应用程序中,通过CreateFile(_T("XXXN:"),…)打开对应的驱动,N也为0~9。这样看来,似乎在WinCE下同名流驱动个数被限制在10个以内。如果设备中有更多的同名设备该怎么办呢?

解决的方法有两个,第一种是换前缀,将XXX改成YYY,这样就又有10个可用的设备名了。当然,修改前缀时需要注意,驱动源代码和注册表中的Prefix必需一致,否则,可能会导致驱动加载失败。

第二种,在应用程序中换一个方式打开流驱动。实际上,WinCE对流驱动中的索引并没有限制,只是在应用程序中都习惯了用_T("XXX1:")。如果要打开索引号10以上的驱动,可以用设备名的方式,如_T("\$device\XXX18"),即打开前缀为XXX,索引为18(十进制)的驱动。用这种方式,就不用再担心同名设备的个数了。当然,为了兼容第三方的程序,驱动中尽量使用10以内的传统名,10以外的设备名一般留给自己的程序用。这种方法就可以让WinCE的流接口驱动支持端口从0-255了。

以串口为例,将串口驱动注册表中“Index=dword:10”,或者10以上,小于255,应用程序代码如下:


HANDLE hComPort = INVALID_HANDLE_VALUE;

hComPort = CreateFile(
        L"\\$device\\COM10", // address of name of the communications device

GENERIC_READ | GENERIC_WRITE, // access (read-write) mode

0, // share mode

NULL, // address of security descriptor

OPEN_EXISTING, // how to create

0, // file attributes

NULL // handle of file with attributes to copy

);

此方法已经验证可用。

时间: 2024-10-22 23:39:53

关于WinCE流接口驱动支持10以上的端口号(COM10)的相关文章

流接口驱动程序的工作原理和开发步骤嵌入式

Windows ce.net的驱动程序,最常见的是流接口驱动.流接口驱动具有良好的可移植性和可扩展性,因而被设备管理器独立出来加以管理.它以dll动态链接库的形式存在,通过流接口驱动接口函数和设备管理器进行数据交互,由设备管理器统一加载,管理和卸载.所有的流接口驱动程序都是用同一组接口调用同一个流接口函数.设备管理器是再windows ce 操作系统下运行的进程,它跟踪已加载的驱动程序和他们的接口.它在内核中启动并且连续不断的运行.设备管理器可以在 设备接口变得可用和不可用时通知用户,而用户或者

HI3531和DP83640接口驱动修改记录

最近在做视频拼接的一个项目,项目使用的处理器是HI3531处理器,是海思的ARM A9双核 1G主频的处理器.原本使用的是一个1000M PHY.是realtek的RTL8211E的PHY.后面由于需要使用支持IEEE1588硬件PTP同步支持的PHY,于是选择了一款ti的DP83640的PHY.ti官方给出的同步时间精度是8ns.于是我们就朝着8ns方向前进了.于是就开始设计板子,板子是找一搏做的,板子打回来看上去比较漂亮.上图一张. 回来调试,刚刚开始发现PHY更换后不能下载,我和我朋友一同

6.驱动支持多按键操作

多按键驱动程序优化 优化的代码,支持两个按键的支持的代码:duokey.c: #include <linux/module.h>        /* For module specific items */ #include <linux/fs.h>            /* For file operations */ #include <linux/ioport.h>        /* For io-port access */ #include <lin

php pack、unpack、ord 函数使用方法(二进制流接口应用实例) 转

php pack.unpack.ord 函数使用方法(二进制流接口应用实例) 博客分类: PHP php二进制packunpackord 在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处理的强大. 下面我逐一介绍它们.在我们工作中,用到它们的估计不多. 我在最近一个工作中,因为通讯需要用到二进制流,然后接口用php接收.当时在处理时候,查阅不少资料.因为它们使用确实比较少,也很少朋友工作中会用到 它们. 在工作中,我也逐渐了解到pack,unpack,ord对于二进制字节处

《python3自动化接口+selenium》10月13号开学!(2个月2000,包教会)

<python3自动化接口+selenium>10月13号开学!(2个月2000,包教会) 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学 报名费2000一人(周期2个月) 联系QQ:283340479 个人成就: 1.个人博客,百度直接搜索:上海-悠悠博客 2.个人原创微信公众号:yoyoketang 3.已经在百度阅读上线的书,百度搜索:百度阅读,再搜索书名: <selenium webdriver基于源码案例>-作者:七月份的尾巴_葵花&上海-悠悠 <pyt

LCD之mipi DSI接口驱动调试流程【转】

转自:https://blog.csdn.net/liwei16611/article/details/68146912 1.LCD MIPI DSI协议MIPI-DSI是一种应用于显示技术的串行接口,兼容DPI(显示像素接口,Display Pixel Interface).DBI(显示总线接口,Display Bus Interface)和DCS(显示命令集,Display Command Set),以串行的方式发送像素信息或指令给外围,而且从外围中读取状态信息或像素信息,而且在传输的过程中

Qt学习 之 数据库(支持10种数据库)

Qt 提供了 QtSql 模块来提供平台独立的基于 SQL 的数据库操作.这里我们所说的“平台独立”,既包括操作系统平台,有包括各个数据库平台.另外,我们强调了“基于 SQL”,因为 NoSQL 数据库至今没有一个通用查询方法,所以不可能提供一种通用的 NoSQL 数据库的操作.Qt 的数据库操作还可以很方便的与 model/view 架构进行整合.通常来说,我们对数据库的操作更多地在于对数据库表的操作,而这正是 model/view 架构的长项. Qt 使用QSqlDatabase表示一个数据

微信公众号客服接口升级 支持第三方平台调用

客服接口今日又升级了,除了自定义客服头像和昵称外,也支持第三方平台代替公众号管理客服帐号和调用客服接口,需第三方平台接入公众号登录授权(在微信开放平台接入). 客服接口是公众号与用户进行客服回复的关键接口,今日客服接口进行了升级,增加了自定义头像和昵称的能力,帮助公众号以不同的客服身份服务不同用户. 该能力针对所有拥有客服接口权限的公众号开放(微信认证的订阅号和所有服务号,都拥有客服接口权限). 该能力具体表现是,开发者根据开发文档的要求,创建并设置客服帐号的头像和昵称后,微信用户(6.0.2版

让Windows Server 2008r2 IIS7.5 ASP.NET 支持10万并发请求

由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误. 为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支持10万个并发请求. 具体设置如下: 1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为65535. IIS管理器 > 应用程序池 > 高级设置 队列长度: 65535 2.  调整IIS 7的appConcurrentRequestLimit设置 由原来的默认5000改为10000