系统注册表状态如果计算机在睡眠模式下突然断电?

时间:2015-06-23 05:13:49

标签: c++ windows winapi registry

我正在测试我的Windows本地服务,因为系统先前已暂停(或进入睡眠模式),然后突然失去电源(没有停止运行)。

为简单起见,目前,我正在使用虚拟机(VMWare Workstation 10)测试它以及它们应该模拟它的“重置”选项:

enter image description here

我所观察到的有些奇怪。例如,当我记录数据时,应该在系统挂起之前保存到系统注册表中,然后在系统启动后重新启动(重置电源后)系统注册表中的数据后检查相同的注册表项似乎不见了。或者钥匙的价值不存在。虽然我的日志(只是一个文本文件)已正确保存所有内容。

所以我很好奇这是Windows系统注册表特有的,还是VMWare软件中的一些错误?

PS。我正在测试的操作系统是Windows 7。

1 个答案:

答案 0 :(得分:1)

这不是特定于注册局。你必须明白“注册表”实际上是一种抽象。它是一个共享数据库,由多个具有非平凡结构的文件支持。共享抽象存在于RAM中,不直接镜像磁盘结构。

另一方面,您的文件几乎肯定不会共享。文件访问,文件缓存和虚拟内存都很好地集成。您的写入最初以文件缓存(RAM)结束。暂停PC时,Windows不会将**文件*缓存复制到休眠文件。这有点毫无意义 - 脏文件缓存内容可以写到磁盘上,干净的部分可以直接丢弃。