无忧启动论坛

标题: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices [打印本页]

作者: 红毛樱木    时间: 2020-8-3 00:28
标题: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
请教,在nt5 pe里这个注册表的值在某一种情况下不会自动刷新。
举例:
情况一:
本机磁盘有IDE和SATA两种控制器,用vmware可以创建虚拟机测试出来。
进入2003PE前不加载SATA的驱动,进入PE后只有IDE的盘符,这时此处注册表有IDE磁盘的所有信息,更改IDE磁盘的盘符,此处注册表会自动刷新。
然后再安装SATA控制器的驱动,SATA磁盘的盘符也出来了,但是此处注册表就是没有SATA磁盘的信息,更改SATA的盘符此处注册表也不会变动。
情况二:
进入2003PE前用F6IMG等模块加载SATA控制器驱动,再进入2003PE后,此处注册表包含SATA磁盘的盘符信息。

目前不知道有什么办法在情况一通知系统刷新此处注册表,后来我把mountmgr.sys对应的服务变成启动阶段就加载,也还是不行。有没有大神有别的思路?
作者: wbs1997    时间: 2020-8-3 06:21
大师都在提问呀
看来碰到难题了
作者: haijie1223    时间: 2020-8-3 08:53
试下扫描硬件改动注册表会刷新么,如果可以的话,直接扫描一下硬件改动。
作者: haijie1223    时间: 2020-8-3 08:55
或者向系统进行消息广播
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE , 0,LPARAM(_T("Environment")), SMTO_ABORTIFHUNG, 5000, &dwResult);//广播立即执行  
作者: CodeHz    时间: 2021-1-11 11:30
研究了一下,可能和 IOCTL_MOUNTMGR_CHANGE_NOTIFY 有关系
作者: CodeHz    时间: 2021-1-11 11:33
上面那个是监听修改的,再不行用 IOCTL_MOUNTMGR_CREATE_POINT 手动设定
作者: 红毛樱木    时间: 2021-3-13 01:26
CodeHz 发表于 2021-1-11 11:33
上面那个是监听修改的,再不行用 IOCTL_MOUNTMGR_CREATE_POINT 手动设定

大佬,有没有方案?
作者: 红毛樱木    时间: 2022-10-13 02:38
老问题重提,看看有没有大神知道如何解决




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3