这是我正在做的事情:
1.启动Windows移动设备
2.使用HKLM\Drivers\BuiltIn\<mydriver>
为我的测试驱动程序创建一个注册表项RegCreateKeyEx
,并使用RegSetValueEx
设置注册表项(包含IClass,Flags,Dll和Order值)所以我的司机在随后的暖靴上加载
3.重新启动设备(我的测试驱动程序加载并按预期执行应该执行的操作)
4.使用FindFirstDevice(DeviceSearchByGuid, ...)
获取驱动程序句柄(问题#1:此操作失败,错误代码为0x12,表示无法找到具有指定GUID的设备)。我假设我的驱动程序将在重启后加载,因为我在其注册表中定义了IClass值
5.使用手柄卸载我的驱动器
6.删除我在#2中创建的注册表项(问题#2:此操作失败,错误代码为0x5 - error_access_denied )
注意:步骤2,4,5,6使用我的测试应用程序
完成观察:
1.只要设备没有重新启动,我就可以在创建密钥后删除密钥。但是,当我创建密钥并尝试在重新启动设备后删除它时,我收到“权限被拒绝”错误
2.我尝试删除重启后加载驱动程序的代码(通过将Flag设置为DEVFLAGS_NOLOAD),以查看在尝试删除注册表时是否与权限问题有关。我仍然无法删除注册表。