zhoudavid_unive
驱动牛犊
驱动牛犊
  • 注册日期2007-05-16
  • 最后登录2007-07-07
  • 粉丝0
  • 关注0
  • 积分180分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
阅读:2258回复:3

解读WinDriver生成USB代码,一点不解,求教达人~~

楼主#
更多 发布于:2007-06-30 17:18
用windriver生成一个USB的范例代码,想看看基本过程,基本明白了,但是对于
DevieAttach这个回调函数就迷糊了~~~

该函数是在DriverInit中赋给一个临时变量eventTable,然后通过WDM_Init将eventTable交由全局静态驱动句柄hDriver保管,同时,一般回调函数所需的参数也由eventTable交给hDriver

这样看来,我就觉得,比较像线程与线程函数的关系了~~

但是DeviceAttach这个回调函数还有头两个参数:WDU_DEVICE_HANDLE hDevice,
                                                                                       WDU_DEVICE *pDeviceInfo

这样的话就不像我想象的那样了,对于这两个参数值,DeviceAttach是怎么得到的呢?


求教达人~~再拜~
驱网无线,快乐无限
zhoudavid_unive
驱动牛犊
驱动牛犊
  • 注册日期2007-05-16
  • 最后登录2007-07-07
  • 粉丝0
  • 关注0
  • 积分180分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-01 10:38
各位达人,很抱歉没写清楚,太性急了,我在把我下在的那点认识重述遍:
1.获取厂商ID,产品ID,填充一个WDU_MATCH_TABLE变量
2.调用生成的初始化函数DriverInit , 在该函数中(1)调用WinDriver函数WD_DriverName设置驱动名称
                                         (2)填充传入的驱动上下文结构参数中的事件、互斥对象、临界区(以创建的形式)
                                         (3)填充WDU_EVENT_TABLE结构临时变量,设置其Attach,Detach回调函数和回调函数需要用到的数据变量,此处将其填充为驱动上下文
                                         (4)调用WInDriver函数WDU_Init,生成一个驱动句柄(其第一个参数,为OUT型),将其赋给全局驱动句柄变量hDriver
......



然后我去看DeviceAttach这个回调函数,全名为static BOOL DLLCALLCONV DeviceAttach(WDU_DEVICE_HANDLE hDevice,  WDU_DEVICE *pDeviceInfo, PVOID pUserData),就迷糊了~~

PS:一直把他当线程与线程函数来理解,WDU_Init=CreateThread,DeviceAttach=lpThreadProc

迷糊如下:
1.DeviceAttach的前两个参数怎么传进来的?(看DeviceAttach的内容,觉得前两个参数应该是IN型,第3个参数是在2(3)步的到的)
2.DeviceAttach什么时候调用的?(我觉得是不是像线程函数那样只要全局驱动句柄在,他就一直在运行?)
驱网无线,快乐无限
qh_zhang
驱动牛犊
驱动牛犊
  • 注册日期2007-07-02
  • 最后登录2010-01-17
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望14点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-05 11:05
请教楼主:我用driverstudio3.2 的DriverWizard生成了一个Ezusb的驱动和示例测试程序,可以检测出设备,但读写操作时,returnlength总是返回0。Bushound上业没有信号。

可以给点线索吗?
beginner01
驱动牛犊
驱动牛犊
  • 注册日期2006-07-08
  • 最后登录2008-12-17
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望29点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-12-29 20:32
才接触,还从你的理解中学到了东西。谢谢。
游客

返回顶部