阅读:1383回复:6
两个简单的问题,有点混淆,请你告诉我,好吗?
问两个很菜的问题:
1、是不是每个标准的设备都有一个地方存储着关于本设备的设备id和制造厂家的信息,这样在总线驱动程序中枚举设备时就可以从中读到这些信息然后再在inf文件中比较找相应的驱动程序。是吗? 2、IoRegisterDeviceInterface这个函数干了些什么工作?在AddDevice全程中调用时是不是向注册表中写了些什么东西,但是每次启动设备驱动时都会调用AddDevice,又每次调用这个函数向注册表写入一些东西,如果原来已经有了相应的信息,后来是不是把原来的覆盖了?但这样也很浪费呀? 谁回答了这两个问题的话,请告诉我怎么给分?对不起我只有这么一点。谢谢。 |
|
沙发#
发布于:2002-08-06 12:38
每个PNP设备都有一个制造商ID和设备ID,制造商ID是由某个组织统一发放的,设备ID由制造商指定,两个值都存放在设备的配置空间中
IoRegisterDeviceInterface是向系统注册一个设备,以供其它设备或应用程序访问,对于非PNP设备,只在安装时系统调用AddDevice |
|
板凳#
发布于:2002-08-06 13:42
但是每次启动设备驱动时都会调用AddDevice,又每次调用这个函数向注册表写入一些东西,如果原来已经有了相应的信息,后来是不是把原来的覆盖了?但这样也很浪费呀? 霍霍,不是向注册表里写,是注册一个接口,供别人使用 |
|
|
地板#
发布于:2002-08-06 13:58
adddevice的主要作用就是创建一个fdo,并把它连接到设备堆栈中。
[编辑 - 8/6/02 by denizen] |
|
|
地下室#
发布于:2002-08-06 14:41
denizen:
这个\"注册一个接口”应怎么样理解?不是向注册表里写才能注册吗?要不然用户怎样才能找到这个接口? chnh: 这个“配置空间”在哪? |
|
5楼#
发布于:2002-08-06 14:54
我知道了,这个设备配置空间就在设备上。
|
|
6楼#
发布于:2002-08-06 15:03
呵呵,是呀
|
|