一般情况下,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

);

此方法已经验证可用。
 

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

  1. frp支持httpIP地址加端口号访问

    (一)安装就不再多说 传送门:https://blog.csdn.net/superljn/article/details/81289993 (二)vim frps.ini [common] bind ...

  2. SD card技术了解并WINCE下SDHC驱动开发(updated)

    Suumary: 简单介绍了一下SD卡的历史和发展,同时结合MX31 ADS上的WINCE 下SDHC驱动更深入的了解该硬件的一些行为特点. 了解SD card SD是Secure Digital C ...

  3. usb驱动开发10之usb_device_match

    在第五节我们说过会专门分析函数usb_device_match,以体现模型的重要性.同时,我们还是要守信用的. 再贴一遍代码,看代码就要不厌其烦. static int usb_device_matc ...

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

    转自:http://blog.csdn.net/liwei16611/article/details/68146912 1.LCD MIPI DSI协议 MIPI-DSI是一种应用于显示技术的串行接口 ...

  5. Atitit.自定义jdbc驱动  支持jsql

    Atitit.自定义jdbc驱动  支持jsql 1. 为什么需要自定义驱动1 1.1. 透明分库分表1 1.2. 自定义数据库的接口.比如大数据文档文件类型的数据库,数据存储引擎2 2. 整个文章分 ...

  6. Linux 内核驱动支持什么设备

    struct usb_device_id 结构提供了这个驱动支持的一个不同类型 USB 设备的列表. 这个 列表被 USB 核心用来决定给设备哪个驱动, 并且通过热插拔脚本来决定哪个驱动自动加载, 当 ...

  7. usb驱动开发24之接口驱动

    从第一节我们已经知道,usb_generic_driver在自己的生命线里,以一己之力将设备的各个接口送给了linux的设备模型,让usb总线的match函数,也就是usb_device_match, ...

  8. wince中测试驱动应用程序的实现

    这里建的工程是MFC的smart device,选择ARMV4I的指令集,不同的设备可能会有轻微的不同,不过大体实现是一样滴.还有,这里选的应用类型是dialog base. 1.应用监测内核动向 内 ...

  9. 下一代USB接口将支持双向拔插,于明年亮相

    近日,USB接口标准制定组织表示新一代USB接口将于明年年中亮相,而其名称目前被暂定为了USB Type-C.该组织表示USB Type-C标准将允许制造商采用更纤薄的接口设计,在实用性大大提高的同时 ...

随机推荐

  1. Cordova调用Activity

    首先需要编写一个CallActivityPlugin插件,专门调用Activity package com.example.plugin; import org.apache.cordova.api. ...

  2. [Hibernate] - one to many

    事实上one to many 和 many to one是一样的,这是一个相互的过程. hibernate.cfg.xml <?xml version="1.0" encod ...

  3. C++ Socket编程步骤 【转】

    sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW):基于TCP的socket编程是采用的流式套接字. 服务器 ...

  4. Nginx负载均衡和反向代理设置

    Nginx负载均衡: 格式: upstream 别名 {    #别名一般要有意义,能看出是做什么的 server ip:端口;    #要实现负载的服务器的ip.端口号}  例: upstream ...

  5. webstorm 10 设置文件的默认编码

    我在使用webstorm时,发现文件的默认编码是GBK 然后我找到了点击此处可以修改这个文件的编码,但是以后新建文件和项目默认生成的文件还是GBK, 设置项目文件的默认编码可以在 File----Se ...

  6. 获得Unix/Linux系统中的IP、MAC地址等信息

    获得Unix/Linux系统中的IP.MAC地址等信息 中高级  |  2010-07-13 16:03  |  分类:①C语言. Unix/Linux. 网络编程 ②手册  |  4,471 次阅读 ...

  7. Linux下高并发socket最大连接数所受的各种限制

    http://blog.csdn.net/guowake/article/details/6615728 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行 ...

  8. (四)java程序基本组成

    一个基本的java程序一般包括几个部分,分别是程序所在的包名.程序中用到的其他包的路径.程序的类.类中的方法.变量和字面量. package demo; import java.util.Date; ...

  9. HttpUrlConnection java.net.SocketException: Software caused connection abort: recv failed

    最近做java swing程序在模拟httprequest请求的时候出现了这个错误 java.net.SocketException: Software caused connection abort ...

  10. could not open extension control file "/usr/share/postgresql/9.1/extension/plpythonu.control": No such file or directory

    在使用createlang 安装plpythonu的时候出现如下错误:could not open extension control file "/usr/share/postgresql ...