reactos/sdk/lib
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
..
3rdparty [ZLIB] Update to v1.2.13. CORE-18752 2023-02-02 02:18:39 +03:00
atl [CRT][MSVCRT] Implement _CrtDbgReport(W)V and redefine _CrtDbgReport(W) around those (#5678) 2023-11-14 12:23:51 +01:00
cmlib [SDK][CMLIB] Implement CmCheckRegistry and validation private helpers 2023-11-19 20:44:27 +01:00
comsupp [COMSUPP] Relicense as BSD. 2022-03-15 22:54:17 -04:00
conutils [CONUTILS:PAGER][MORE] Implement text line caching + fix some bugs. 2021-06-28 21:26:32 +02:00
cportlib [CPORTLIB] Remove any usage of debug.h since this lib implements the support for said debugging output. 2022-01-11 22:45:14 +01:00
cpprt [CPPRT][CRT][MSVCRT] Move __CxxFrameHandler3 to crt and export it on NT6 2023-08-23 20:43:53 +03:00
crt [CRT] dbgrpt.cpp: Fix buffer sizes in the *nprintf functions (#5678) 2023-11-14 12:24:00 +01:00
cryptlib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
debugsup [REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
delayimp [DELAYIMP] Fix/Merge definitions of __pfnDliNotifyHook2 and __pfnDliFailureHook2 2018-06-13 23:28:15 +02:00
dmilib [DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
dnslib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
drivers [BDASUP][KMIXER][MMIXER][STREAM] Replace meaningless YDEBUG (#5818) 2023-10-31 12:04:24 +00:00
dxguid [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
epsapi [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
evtlib [EVTLIB] Silence some DPRINTs. 2018-04-22 02:53:40 +02:00
fast486 [REACTOS] Fix misc 64 bit issues (#783) 2019-01-05 10:50:11 +01:00
fslib [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.7.8 (#4417) 2022-05-03 17:30:11 +02:00
gcc_ssp [CMAKE] Fix GCC -fstack-protector usage 2021-01-05 13:38:57 +01:00
inflib [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
ioevent
lsalib [CMAKE] Replace custom functions to built-in ones 2020-04-16 15:59:38 +03:00
nt [SDK:NT] Remove Win32-isms. 2019-09-19 02:39:59 +02:00
pseh [PSEH] Change return type of filter function prototype to avoid broken return from inside it. 2023-04-14 11:56:08 +03:00
rossym [NTOS:KD][NTOS:KD64][NTOS:KDBG] Fix IRQL & spinlock use 2021-06-29 11:49:20 +02:00
rossym_new [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
rtl [NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793) 2023-11-15 20:59:32 +01:00
runtmchk [REACTOS] Finally get some ARM64 applications building (#4517) 2022-05-25 17:06:32 +03:00
scrnsave [SDK:SCRNSAVE] Implement mouse move threshold. 2023-03-08 20:19:19 +01:00
skiplist [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
smlib [SMSS] Improve comments/code/some DPRINTs. Reorganize smss.h header. 2022-11-14 00:10:35 +01:00
strmiids
tdilib [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
tzlib [TZLIB] QueryTimeZoneData(): Don't fail if the optional values "Display", "Std", "Dlt" are missing (or too long to be captured). However fail if the timezone information is missing. 2020-04-22 00:58:32 +02:00
udmihelp [DMILIB][UDMIHELP] Favor pragma once (#5472) 2023-07-23 22:52:07 +02:00
uuid [PSDK][UUID] Import natupnp.idl from Wine Staging 4.18. CORE-16441 2019-10-20 20:01:58 +01:00
wdmguid
CMakeLists.txt [FREELDR][NTOS][HALPPC][SDK] Remove PowerPC code 2021-08-15 15:35:51 +03:00