napolen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2003-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1290回复:5

如何根据pci设备的总线-设备-功能号禁用和启用设备?

楼主#
更多 发布于:2003-01-05 20:26
要在windows98下实现,win2k也可。如何根据pci设备的总线-设备-功能号禁用和启用设备?
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-01-06 11:39
从VID/DID得知driver,通过读注册表肯定是可以得到的。但过于麻烦,配置管理器或许有相关函数你查查。
注册表的方法:
HKLM\\ENUM\\PCI(win98)中列出了所有PCI设备ID号与driver的对应关系,即每设备下有一个值“driver”,它所指的键在HKLM\\SYSTEM\\CurrentControlSet\\Services\\Class位置,其它WINDOWS肯定也有我就不一一去验证了。
少了e,就少了全部
napolen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2003-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-01-06 11:10
MINSOFT:请问如何根据deviceid venderid 得到driver呢?
谢谢
napolen
驱动牛犊
驱动牛犊
  • 注册日期2002-12-31
  • 最后登录2003-01-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-01-06 11:04
silan:请问具体如何实现?如何访问命令寄存器!!谢谢
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-01-06 11:00
楼上兄弟的方法的确可以阻止硬件操作,但对driver没有影响。我有一种思路不知是否可行:
通过bus dev fun可以知道设备VID和DID,再能过这两相ID应该能知道DRIVER,而后再停止/启动Driver.
少了e,就少了全部
silan
驱动小牛
驱动小牛
  • 注册日期2002-02-04
  • 最后登录2004-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-01-06 10:50
根据BusDevFun可以把PCI配置空间的Command寄存器的低两位置零,这样设备就不会响应总线上的IO/MEM读写操作了,也就是说不能对硬件进行操作了。
/***************************/ 认认真真学好三个代表,踏踏实实做好无产阶级接班人。 /***************************/
游客

返回顶部