阅读:2040回复:7
怎样在WDM下开发两个相同的设备?
我要写一个USB的驱动程序,要求支持多个USB设备,怎样下手呢?怎样实现对这两个设备操作时的切换?请求各位大侠帮帮忙!!感激不尽!!!
|
|
|
沙发#
发布于:2001-09-24 09:23
大家伙帮帮忙,给指一条路吧!
|
|
|
板凳#
发布于:2001-09-19 11:35
程序中的AddDevice是在每次有新设备加入时自动调用的,而且也创建了多个设备,这是我的程序源码:
NTSTATUS UsbMiniDriver::AddDevice(PDEVICE_OBJECT Pdo) { Tracer << "Into AddDevice\n"; UsbMiniDevice* pDevice = new (NonPagedPool) UsbMiniDevice(Pdo, m_Unit); if (pDevice) { NTSTATUS status = pDevice->ConstructorStatus(); if ( !NT_SUCCESS(status) ) { Tracer << "Error "<< (ULONG)m_Unit << "\n"; delete pDevice; } else m_Unit++; return status; } else { Tracer << "Error creating device UsbMini"<< (ULONG)m_Unit << "\n"; return STATUS_INSUFFICIENT_RESOURCES; } } 我开发的项目是USB的读卡器装置,现在需要驱动支持多个读卡器在同一台PC上,遇到的问题是PC启动后,当前IRP栈中已压入一判断卡插拔的IRP,使用多个读卡器后,IRP栈中压入的始终为最后一个读卡器的IRP,这时插拔其他读卡器中的卡片,驱动就没有执行,问我怎样才能在多个读卡器中任意插拔卡都使驱动工作呢?有对此熟悉的帮帮忙吧!这个问题快急死我了! |
|
|
地板#
发布于:2001-09-13 09:32
在AddDevice的时候,create 2个不同的devices。
|
|
|
地下室#
发布于:2001-09-12 09:06
有谁能帮我发一些这样的资料给我,先谢了!!
另外,支持多个USB设备和应用程序有没有关系,在驱动程序里的AddDevice中已经有了unit++了,下一步怎样处理,怎样在两个设备之间切换呢? |
|
|
5楼#
发布于:2001-09-11 15:54
我猜你用的不是cypress的片子(因为它的驱动本身就是你想要的),如果你能找到就好了,或者请这里的大虾门发一个给你,不好意思,我的确发不了。
|
|
6楼#
发布于:2001-09-11 13:56
[QUOTE]原本由 sunkai 发表
[B]能先写只支持一个设备的驱动程序吗? [/B][/QUOTE] 可以,现在是想在支持一个的基础上增加支持多个,请执教! |
|
|
7楼#
发布于:2001-09-11 11:06
能先写只支持一个设备的驱动程序吗?
|
|