特别幸运楼层#
发布于:2005-01-20 10:58
[quote]这个虚拟串口恐怕不能跟系统中真实的串口互通。它倒是可以调用真实的串口,向真实串口上发送/接收数据。 楼主,你的意思就是这个虚拟串口实际上就是虚拟系统的某个真实的串口? 我还有个问题,就是我有一个HID的数据线,通过它将手机与PC连在一起。现在我想虚拟一个串口,使得PC可以通过这个虚拟串口实现用手机拔号上网!你觉得这样的想法可行吗? 谢谢! [/quote] 应该可行。不过也要看手机的类型了。我见过几款手机附带有配套光盘。安装上以后,用USB的线或其他数据接口连到电脑上,在电脑上通过安装的软件就可以操作手机拨号。 不过我没有仔细研究过这个具体的实现。对串口上Modem的驱动也没有接触。你要是看到市面上有类似的产品可以买过来看一看,分析分析它的结构框架。 |
|
1000中奖楼层#
发布于:2005-03-09 16:41
那位还能给传上来一份啊
过期了 |
|
102楼#
发布于:2005-03-10 16:21
最近在测试更新的版本。就是简单的加上了TDI功能的使用。
测试一段时间再传到这里。 |
|
103楼#
发布于:2005-03-10 23:26
看了看有关这方面的东西,刚刚改了inf文件,驱动能够象一个真正的端口显示了
不过,驱动还没有做任何改动,就先把inf文件贴上来吧。 ;/*++ ; ;Copyright (c) 1990-1999 Microsoft Corporation All rights Reserved ; ;Module Name: ; ; TOASTERF.INF ; ;Abstract: ; ; INF file for installing toaster class with upper and lower filters and ; toaster device driver with upper and lower filters. ; Note: In order for the Upper and Lower filter entry for the class to be ; added to the registry, you must remove the existing Toaster class ; key from the registry if you had previously installed Toaster class. ; Otherwise the setup ignores AddReg section ; if it finds the toaster class guid in the registy. ; ; ;--*/ [Version] Signature=\"$WINDOWS NT$\" ;Class=TOASTER ;ClassGuid={B85B7C50-6A01-11d2-B841-00C04FAD5171} Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%MSFT% DriverVer=06/16/1999,5.00.2064 [DestinationDirs] DefaultDestDir = 12 ; ================= Class section ===================== [ClassInstall32] Addreg=ToasterClassReg [ToasterClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-20 ;***************************************** ; Toaster Device Install Section ;***************************************** [Manufacturer] %StdMfg%=Standard [Standard] ; DisplayName Section DeviceId ; ----------- ------- -------- %ToasterDevice.DeviceDesc%=Toaster_Device, Toaster\\MsToaster [Toaster_Device.NT] CopyFiles=Toaster_Device.NT.Copy AddReg = Toaster_Device.NT.AddReg [Toaster_Device.NT.HW] AddReg=Toaster_Device.NT.HW.AddReg [Toaster_Device.NT.Copy] SiSerial.sys [Toaster_Device.NT.AddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,SiSerial.sys HKR,,EnumPropPages32,,\"MsPorts.dll,SerialPortPropPageProvider\" [Toaster_Device.NT.HW.AddReg] ;-------------- Service installation HKR,,\"UpperFilters\",0x00010000,\"serenum\" [Toaster_Device.NT.Services] AddService = toaster, %SPSVCINST_ASSOCSERVICE%, toaster_Service_Inst AddService = Serenum,,Serenum_Service_Inst ; -------------- Toaster Driver install sections [toaster_Service_Inst] DisplayName = %toaster.SVCDESC% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\\SiSerial.sys LoadOrderGroup = Extended Base [Serenum_Service_Inst] DisplayName = %Serenum.SVCDESC% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\\serenum.sys LoadOrderGroup = PNP Filter [SourceDisksNames] 1 = %DiskId1%,,,\"\" [SourceDisksFiles] SiSerial.sys = 1,, [Strings] SPSVCINST_ASSOCSERVICE= 0x00000002 MSFT = \"Microsoft\" StdMfg = \"(Standard system devices)\" ClassName = \"VirtualSerial\" ToasterDevice.DeviceDesc = \"Bitee VSerial Toaster DeviceDesc\" toaster.SVCDESC = \"Bitee Virtual Serial for Display\" DiskId1 = \"Toaster Device Installation Disk #1\" |
|
|
104楼#
发布于:2005-03-10 23:29
但是不是这么简单就能解决问题,但是起码提供了一个思路。
就是用serenum.sys作为上层过滤驱动。 然后把所有的irp 转发也好,排队也好。反正有了点系统端口的特征。 当然,代码是肯定要改的,谁要是有兴趣,欢迎讨论。 qq : 3543946 |
|
|
105楼#
发布于:2005-03-11 10:40
把serenum.sys作为上层过滤驱动,我倒是没有考虑过。我想应该是很好的一个主意。以前没太注意serenum.sys。有空得好好的看一看。
|
|
106楼#
发布于:2005-03-11 11:12
这两天正好没什么事,我想我会把这个想法实现的。
当然了,要是有什么问题,希望大家能够帮助解决 |
|
|
107楼#
发布于:2005-03-12 10:32
把inf改动之后,就直接安装 port端口,不用toaster enum 了。
然后用 exe 枚举 端口,直接用超级终端就能访问了。 代码一点都不用改。 |
|
|
108楼#
发布于:2005-03-15 10:42
这个虚拟串口恐怕不能跟系统中真实的串口互通。它倒是可以调用真实的串口,向真实串口上发送/接收数据。 楼主,给你发了信了,我是刚开始做驱动,怎么调用真实的串口呢? 另外,我想虚拟出两个串口出来,其实指向的都是同一串口,所以在安装时就在控制面板出现,并且都指向同一真实的串口,这个能实现吗?如果能实现,应该在那层实现? |
|
109楼#
发布于:2005-03-15 10:49
这个虚拟串口恐怕不能跟系统中真实的串口互通。它倒是可以调用真实的串口,向真实串口上发送/接收数据。 楼主,给你发信了,怎么让虚拟串口与真实的串口联起来呀?我现在想虚拟出两个串口出来,同时都指向同一真实串口,使得从虚拟串口发出的数据,都从真实的串口发出去,接收数据时,我再进行分流,这样该从那儿着手呀? 我是刚开始做驱动的,下了你的程序,收获很大。。 |
|
110楼#
发布于:2005-03-16 19:09
楼主:
》》最近在测试更新的版本。就是简单的加上了TDI功能的使用。 》》测试一段时间再传到这里。 什么时候传上来,想学习一下。 期待中。。。。。。。。 |
|
|
111楼#
发布于:2005-04-05 18:11
I am also developing a virtual serial port. this post helped me a lot.
我不太明白serenum.sys 和 busenum.sys 的分别。好像两个都可以用来列举serial port? 他们的位置和作用有什么分别呢? 请高手们赐教。。。 感激。。 |
|
112楼#
发布于:2005-04-16 16:57
我在xp 下enum -p 1 后 再 create dos name
enum -u 1 再 enum -p 1 ,后无法create dos name, 这个IoCreateSymbolicLink 出错了,可我调试不出来. 有哪位解决的说一下.. 还有,对协作安装程序有了解的也交流一下. |
|
113楼#
发布于:2005-04-16 17:44
我前几天也在xp下碰到这个问题。enum -p第二个设备的时候也是失败了。最近一直没有来的及看这个。等我把这个调好了,再发布出来。
|
|
114楼#
发布于:2005-08-09 15:45
好帖!!!顶起来!!!
|
|
115楼#
发布于:2008-06-02 23:05
谢谢,学习中。。。。。。。。。。。。。
|
|
116楼#
发布于:2008-10-16 19:00
谢谢楼主分享!下来研究一下
|
|
|
117楼#
发布于:2009-03-17 13:35
很好
|
|
118楼#
发布于:2009-07-09 14:38
我晕 我什么 我下载下来打不开!为什么啊楼主!
|
|
119楼#
发布于:2009-09-07 16:30
多谢 兄弟
|
|