d_iyui
驱动牛犊
驱动牛犊
  • 注册日期2002-10-28
  • 最后登录2005-01-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1430回复:7

怎么读hardware?

楼主#
更多 发布于:2002-11-08 12:51
由于工作是原因,我需要在WIN2000以上的版本看一些硬件的值,比如北桥的寄存器的值,CMOS里面的信息,我该怎么写?
我已经装好WIN2KDDK+VC6.0,也能正确的编译通过了,我看见里面好象有个叫HAL的宏,我是不是只要用什么
READ_REGISTER_XXX
READ_REGISTER_XXX这样的宏就可以了,是不是在用之前还要做一些别的事情,用完了以后还要做一些事情?
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-08 12:54
你的先懂得怎么在驱动里读写硬件才行。
怎么在驱动里读写硬件?把本版看一遍。
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
d_iyui
驱动牛犊
驱动牛犊
  • 注册日期2002-10-28
  • 最后登录2005-01-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-08 12:57
我用了一个叫DDAppWiz.awx的VC向导工具,下载网址http://www.w2kdriverbook.com/downloads/Tools/ToolFiles.zip
是不是对一些初学者有用,我就不知道,大家用用好了,比自己写makefile文件好多了!
d_iyui
驱动牛犊
驱动牛犊
  • 注册日期2002-10-28
  • 最后登录2005-01-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-08 12:59
什么版本?DDK的HELP文档吗?
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-08 13:02
什么版本?DDK的HELP文档吗?

本版,不是版本
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
d_iyui
驱动牛犊
驱动牛犊
  • 注册日期2002-10-28
  • 最后登录2005-01-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-08 13:04
那你告诉我链接好了,谢谢你了,我找来找去不一定找得到的!
d_iyui
驱动牛犊
驱动牛犊
  • 注册日期2002-10-28
  • 最后登录2005-01-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-08 13:09
没找到,要是有个什么精华什么的就好了:(
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-08 13:26
从用户模式中访问设备键
应用程序经常需要访问注册表中关于硬件设备的信息。为了使这成为可能而同时又不暴露重要的Enum键,Microsoft提供了一组SetupDiXxx函数。

假设你的驱动程序使用IoRegisterDeviceInterface函数寄存了一个设备接口,并且你有一个该接口的符号连接名(通过枚举该接口GUID的所有实例或者从WM_DEVICECHANGE消息的参数中获得这个名字)。为了从硬件键中获得Manufacturer名字,你可以使用下面代码:

#include <setupapi.h>
...
LPTSTR lpszDeviceName;
HDEVINFO info = SetupDiCreateDeviceInfoList(NULL, NULL);
SP_DEVICE_INTERFACE_DATA ifdata = {sizeof(SP_DEVICE_INTERFACE_DATA)};
SetupDiOpenDeviceInterface(info, lpszDeviceName, 0, &ifdata);
SP_DEVINFO_DATA did = {sizeof(SP_DEVINFO_DATA)};
SetupDiGetDeviceInterfaceDetail(info, &ifdata, NULL, 0, NULL, &did);
TCHAR buffer[256];
SetupDiGetDeviceRegistryProperty(info,
&did,
SPDRP_MFG,
NULL,
(PBYTE) mfgname,
sizeof(mfgname),
NULL);
SetupDiDestroyDeviceInfoList(info);
 

lpszDeviceName是一个象“USB\\Vid_0547&Pid_102A\\7&2”一样的串。

生命驱动,活力无限!
游客

返回顶部