阅读:2213回复:7
还是关于guid.
据我现在的水平来考虑guid,有3个地方用到了它:
1。sys文件 2。app同样要调用设好guids.h. 3.注册表中要用。 只要这三者一致,interface就可建成。 我现在的问题就是SetupDiEnumDeviceInterfaces不能成功,即interface无法正确建立。 我通过两种方式都不能成功: 1。不管硬件直接安装驱动,这样起码interface应该能够建立。 用inf文件将.sys文件安装上,用softice观察,driverentry和 adddevice都已经运行,并且IoRegisterDeviceInterface成功。 检查注册表,在deviceclass里看到我所注册的guid.由于我的安装 需要重起,重起后设备管理器说该设备无法启动。运行app,SetupDiEnumDeviceInterfaces失败。 2。装上硬件,从添加新硬件里安装这个inf,问题依旧。 请问建立interface还需要什么吗?设备无法启动说明什么? 装上硬件系统安装inf时判断该驱动是否合适与该硬件是靠hardwareid么?如PCI\VEN_9999&DEV_6666&REV_01. 谢谢。 |
|
最新喜欢:![]()
|
沙发#
发布于:2001-05-24 14:31
我想问一下:
1。你的GUID 是自己定义的还是工具生成的? 2。你的INF 是否正确? 3。你的初始化运行得对吗? |
|
|
板凳#
发布于:2001-05-24 16:00
1.由guiden生成。
2.无法判断,反正系统允许这个inf安装了。并且注册表出现这个guid.设备管理器里显示的制造商等都正确,就是无法启动。 3.没到初始化啊,得等interface建立后才行啊。 |
|
|
地板#
发布于:2001-05-24 16:38
有道理,看样子问题集中在INF 上了,这个INF 你是从哪里来的,其中的GUID说明也对吗?
|
|
|
地下室#
发布于:2001-05-24 17:22
我觉得是不是inf中声明不声明guid两可啊,很多inf并不声明的,声明是为了找的更快点吧?我没声明guid.
|
|
|
5楼#
发布于:2001-05-24 19:37
inf里面的是class的guid。guid可以用guidgen生成。
你的硬件可以正常工作吗?如果可以,那就是SetupDiEnumDeviceInterfaces的参数不对;否则,检查你的driver。 |
|
|
6楼#
发布于:2001-05-24 20:26
interface的生成和硬件有关系么?除了在安装inf可能要读一下硬件的vendor id 和device id,其它还有什么关系呢?
|
|
|
7楼#
发布于:2007-11-26 12:40
这么老的帖子,都让我找到了...
|
|
|