阅读:1508回复:8
driverworks的怪问题
我想通过枚举所有pci设备,检测vendorid和deviceid来判断硬件是否插好,在driverworks中调用
KPciConfiguration::Enumetate()函数和KPciSlot::Increment()函数,可是编译竟然说这两个函数不是对应类的成员函数!!! 要知道我是从帮助文件中查出来的函数啊。 |
|
|
沙发#
发布于:2002-06-11 13:56
原来在wdm中这两个函数是没有定义。
那在wdm中如何确定硬件已经插好呢??? |
|
|
板凳#
发布于:2002-06-11 14:04
...
如果你的PCI插好了,系统就可以找到的,才会 调用你的WDM。你的WDM还找什么呀? |
|
地板#
发布于:2002-06-11 14:15
我的意思是,如果驱动程序已经安装了。而我把卡拔下来,这时,运行相应的应用程序肯定会出现问题。那么,这时会发生什么情况呢?应用程序如何知道硬件出了问题呢?
你的意思是不是说,这时系统根本不调用wdm,从而只要应用程序不能打开驱动程序接口,就可以判断为硬件不存在?? 见笑。 |
|
|
地下室#
发布于:2002-06-11 14:49
我拔了一次卡,现在明白了。
硬件没有插上,系统根本不会加载wdm,而应用程序想要打开该设备接口时,函数createfile出错,利用getlasterror()检测,如果返回0,则说明设备不存在。 我的理解对吗? |
|
|
5楼#
发布于:2002-06-11 16:13
差不多了。
硬件不在,cretefile会错。 但是createfile错了可不一定是硬件不在。 |
|
6楼#
发布于:2002-06-12 09:26
难道在wdm中就不能检测硬件是否正常了?
|
|
|
7楼#
发布于:2002-06-12 11:36
可以的。
|
|
8楼#
发布于:2002-06-12 13:47
大侠不要说话如此简洁嘛。
能不能说一下做法呢 |
|
|