lsshao
驱动牛犊
驱动牛犊
  • 注册日期2004-02-03
  • 最后登录2007-10-29
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2535回复:0

DriverNetwork miniport驱动学习(5)

楼主#
更多 发布于:2004-03-18 12:01
访问注册表
NDIS驱动通过KNdisConfig类访问注册表。在驱动初始化过程中,DriverNetworks框架初始化一个KNdisConfig对象并将其说明提交给正确的adapter类的Initialize()处理程序。miniport, intermediate和protocol驱动的处理都一样。每一个NDIS驱动在注册表中都一个子库,各种配置参数都存在那里。
对于NDIS miniport驱动,它的参数存在:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\Ndi\params
对于NDIS protocol驱动,它的参数存在:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<protocol>\Parameters.
子树从驱动安装脚本或系统中组装的。
经过重载Read()和Write()方法, KNdisConfig类显式地给出了从注册表中读写32位(ULONG)和文本字符串(UNICODE)的方法。
下面举例说明从注册表中读取32位二进制值:
ULONG uCardMode;
Config.Read (KNDIS_STRING_CONST("CardMode"), &uCardMode);
注意: 将注册表中CardMode项的值读入uCardMode 变量。
&uCardMode是一个指向NDIS_STRING的指针。现有的转换允许你能直接使用KNdisString对象。返回的字符串被NDIS存放起来,调用者不能修改和释放。字符串分配的缓冲在Config对象销毁时才释放,一般在MyAdapter::Initialize()返回之后。
KNdisConfig类允许你能查询各种系统配置信息,例如:
&#8226; ReadNetworkAddress()

最新喜欢:

temptemptempte...
游客

返回顶部