Hive-Based Registry Data (Windows CE 5.0)
When the hive-based registry data is loaded for the first time, the ROM file portion and the portion that resides on a file system are explicitly linked together. You can think of them as two separate files that together make up the system registry and two separate files that together make up the user registry. An MD5 hash of the ROM file portion is stored in the registry part that resides in a file system if one is not already there. When the registry part from the file system is loaded, Filesys.exe verifies that the ROM portion has not changed. If it has changed, the links between the ROM and file system parts are broken and Filesys.exe must clean-boot the registry. It does this by deleting the files and recreating them based on the initial ROM version.
The flag set by the OEM during IOCTL_HAL_GET_HIVE_CLEAN_FLAG does not affect the cleanup that occurs when the ROM changes. If the ROM changes, the file is always cleaned up regardless of the flag returned by the IOCTL.
See Also
Using the Hive-Based Registry | Troubleshooting the Hive-Based Registry | Persisting Data with the Hive-Based Registry
Send Feedback on this topic to the authors