阅读:2588回复:0
DriverNetwork miniport驱动学习(5)
访问注册表
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类允许你能查询各种系统配置信息,例如: • ReadNetworkAddress() |
|
最新喜欢:tempte... |