FindFirstDevice() 无法动态找到驱动程序设置

发布于 2024-11-25 13:30:50 字数 824 浏览 1 评论 0原文

这就是我正在做的事情:
1. 启动Windows Mobile设备
2. 使用 RegCreateKeyEx 为我的测试 驱动程序 创建注册表项 HKLM\Drivers\BuiltIn\ 并使用 RegCreateKeyEx 设置注册表项code>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.我尝试删除重新启动后加载驱动程序的代码(通过将标志设置为DEVFLAGS_NOLOAD),看看这是否与尝试删除注册表时的权限问题有关。我仍然无法删除注册表。

Here is what I am doing:
1. Boot the windows mobile device
2. Create a registry key HKLM\Drivers\BuiltIn\<mydriver> for my test driver using RegCreateKeyEx and setup the registry key using RegSetValueEx (with IClass, Flags, Dll and Order values) so my driver loads on subsequent warm boots
3. Reboot the device (my test driver loads and does what it is supposed to do as expected)
4. Use FindFirstDevice(DeviceSearchByGuid, ...) to get a handle to my driver (Problem#1: This fails with error code 0x12 meaning it failed to find my device with the specified GUID). I am assuming that my driver will be advertised when it is loaded after reboot since I have defined the IClass value in its registry.
5. Use the handle to unload my driver
6. Delete the registry key that I created above in #2 (Problem#2: This fails with error code 0x5 - error_access_denied)

Note: Steps 2, 4, 5, 6 are done using my test application

Observation:
1. I am able to delete the key after creating it as long as device is not rebooted. However, I get the 'permission denied' error when I create the key and try to delete it after rebooting the device.
2. I tried removing the code that loads the driver after reboot (by setting the Flag to DEVFLAGS_NOLOAD) to see if that has something to do with the permission issue while trying to delete the registry. I still could not delete the registry.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文