reactos/ntoskrnl/config
George Bișoc f33da480af
[SDK][CMLIB] Implement CmCheckRegistry and validation private helpers
CmCheckRegistry is a function that provides the necessary validation checks for a registry hive. This function usually comes into action when logs have been replayed for example, or when a registry hive internals have changed such as when saving a key, loading a key, etc.

This commit implements the whole Check Registry infrastructure (cmcheck.c) in CMLIB library for ease of usage and wide accessibility across parts of the OS. In addition, two more functions for registry checks are also implemented -- HvValidateHive and HvValidateBin.

Instead of having the CmCheckRegistry implementation in the kernel, it's better to have it in the Configuration Manager library instead (aka CMLIB). The benefits of having it in the library are the following:

- CmCheckRegistry can be used in FreeLdr to fix the SYSTEM hive
- It can be used on-demand in the kernel
- It can be used for offline registry repair tools
- It makes the underlying CmCheckRegistry implementation code debug-able in user mode

CORE-9195
CORE-6762
2023-11-19 20:44:27 +01:00
..
arm
i386 [NTOS] "Bugzilla" --> "Jira" 2023-04-05 03:33:41 +02:00
cmalloc.c [NTOS:CM] Simplify CmpDelayAllocBucketLock code a bit (#5729) 2023-09-28 11:39:13 +02:00
cmapi.c [NTOS:CM] Cleanup the hive in case linking it to master fails (#4969) 2023-01-03 16:48:03 +01:00
cmboot.c [NTOS:CM] Adapt cmboot.c for usage in NT/ReactOS bootloader. 2022-04-16 18:37:45 +02:00
cmconfig.c [NTOS:CONFIG] Use correct "Interface" variable type; use InterfaceTypeUndefined instead of -1. 2023-06-25 21:25:06 +02:00
cmcontrl.c
cmdata.c [NTOS:EX] Initialize ExpResourceTimeoutCount also via the "Session Manager/ResourceTimeoutCount" registry value (#4089) 2023-09-21 13:33:28 +02:00
cmdelay.c
cmhook.c
cmhvlist.c
cminit.c [NTOS:CM] Consistently use synchronous I/O for registry hives. 2022-11-20 16:02:39 -05:00
cmkcbncb.c [NTOS:CM] Use COMPUTE_HASH_CHAR to compute the conv hash key 2023-10-03 11:01:21 +02:00
cmlazy.c [NTOSKRNL] Mute some good-path log-spam, no functional change 2023-09-06 14:53:53 +02:00
cmmapvw.c
cmnotify.c
cmparse.c [NTOS:CM][DOCUMENTATION] Provide documentation for newly added functions 2023-10-01 20:06:03 +02:00
cmquota.c
cmse.c [NTOS:CM] Do not acquire the lock twice when the Object Manager calls CmpSecurityMethod 2023-10-01 20:06:02 +02:00
cmsecach.c
cmsysini.c [NTOS:CM] Ignore syncing/flushing requests after registry shutdown 2023-11-19 20:44:26 +01:00
cmvalche.c
cmwraprs.c [NTOS:CM] Disable hard errors when setting up a new size for a hive file / annotate CmpFileSetSize parameters with SAL 2023-11-19 20:44:26 +01:00
ntapi.c