1、系统检测到硬件时调用AddDevice例程让驱动程序增加一个硬件设备,但是如果创建的驱动程序并不针对任何一个硬件,那这个AddDevice例程是什么时候被调用的呢?系统为什么要调用这个例程呢?比如一个只有DriverEntry和AddDevice两个函数的驱动程序,同样也可以...
全文
回复(27) 2004-10-15 20:03 来自版块 - 内核编程
表情
Pegram要看书啊!!(2010-04-26 21:15)
oktslmark~(2010-04-16 09:28)
coffeemay跟帖做个记号,以后好找(2007-06-13 14:30)
stoneyr关键是一个先与后的问题呀, 应用程序总得要有接口才能通知PNP管理器调用DriverEntry, 但是在AddDevice里接口才被注册, 而在DriverEntry里才能通知到PNP管理器AddDevice的地址, 这样的话,刚开始的时候,应用程序怎么知道接口在哪呢...(2005-03-23 13:15)
Leonsoft[quote]1.PnP管理器为每个设备实例调用AddDevice routine,如果有设备的,首先要在inf文件里面指定加载的设备,如果一个设备也没有的话,嘿嘿,就像filter driver,你总要加到某个driver上去吧,所以AddDevice总会被调用的,才能生成设备...(2005-03-23 11:57)
tigerL 好,要的就是你这样的回答。 但是对于第二个问题,可能是我没有表达清楚,还有一个重点的小问题在里面:由于是在AddDevice里调用IoRegisterDeviceInterface的,而AddDevice是在DriverEntry以后才会被调用,而这个DeviceInter...(2005-03-22 22:32)
stoneyr1.PnP管理器为每个设备实例调用AddDevice routine,如果有设备的,首先要在inf文件里面指定加载的设备,如果一个设备也没有的话,嘿嘿,就像filter driver,你总要加到某个driver上去吧,所以AddDevice总会被调用的,才能生成设备栈,这样才符合...(2005-03-22 18:46)
Leonsoft1.PnP管理器为每个设备实例调用AddDevice routine,如果有设备的,首先要在inf文件里面指定加载的设备,如果一个设备也没有的话,嘿嘿,就像filter driver,你总要加到某个driver上去吧,所以AddDevice总会被调用的,才能生成设备栈,这样才符合...(2005-03-22 13:13)
qinxg我的理解: 1.无硬件的AddDevice: 是inf安装时写入了注册表:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class里实现的.Windows会读这个,实现AddDevice 2.inf文件指定的 ...(2005-03-22 09:36)
wqmmmmm这几个问题..你应该翻翻前面的帖子.... 第一个问题显得很庞大...你可以到windows源码版看看我发的那个device tree的建立过程的帖子 第二个问题同上..同一篇文章里面有解释 第三个问题...有很多种情况..有一部分是在调用你的driver的线程...(2005-03-21 13:24)

返回顶部