阅读:2407回复:6
键盘过滤驱动通过注册表加载问题
有一个键盘过滤驱动,在XP下,想实现不用INF直接通过注册表加载,
现在在services下面添写了信息 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ltkbfiltr] "DisplayName"="keyboard filter example" "ErrControl"=dword:00000000 "Group"="Keyboard Port" "ImagePath"="system32\DRIVERS\ltkbfiltr.sys" "Start"=dword:00000003 "Tag"=dword:00000005 "Type"=dword:00000001 然后我在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0303\4&bf7c77b&0] 下面加了UpperFilters: .. "Driver"="{4D36E96B-E325-11CE-BFC1-08002BE10318}\\0001" "Class"="Keyboard" "Mfg"="(标准键盘)" "DeviceDesc"="标准 101/102 键或 Microsoft 自然 PS/2 键盘" "UpperFilters" = "ltkbfiltr" 之后重启用devicetree没有发现此过滤驱动,设备管理器中键盘设备显示黄色感叹号,sys文件已经拷贝到drivers目录下面,为啥呢 |
|
沙发#
发布于:2010-05-01 15:25
start = 0
|
|
|
板凳#
发布于:2010-05-01 16:08
试了,结果一样啊,没起作用
|
|
地板#
发布于:2010-05-02 10:54
"UpperFilters" = "ltkbfiltr"
是不是少了kdbclass系统过滤驱动? |
|
|
地下室#
发布于:2010-05-02 10:57
我想弄清楚一个问题,到底是过滤驱动没有加载?还是加载后导致键盘驱动出错了?
看上去是加载了,否则不会有黄色感叹号。 这样说来,很可能是你过滤驱动有问题。 动态加载试过没有? |
|
|
5楼#
发布于:2010-05-02 11:00
建议你把挂载(Attach)设备对象的代码贴出来。
|
|
|
6楼#
发布于:2010-05-02 21:18
其实这个键盘驱动就是DDK中的例子,我只是加了一些打印信息,只是想通过注册表加载,而不用INF文件,用INF试过,是正确的.
我是按照用INF安装时注册中的内容改的,不知道是不是有些注册表项没改还是改的不对,我发将start改成0后,现在ltkbfiltr下面会生成一个enum子项,这个子项有个0子键, 这个子键的值和用INF安装时不一样,不知道是不是这个问题?不过用INF安装时start的值是3啊 |
|