ReactOS 0.4.16-dev-306-g647d351
|
#include <ntdef.h>
#include <ntifs.h>
#include <bugcodes.h>
#include <wine/unicode.h>
#include <wchar.h>
#include "hivedata.h"
#include "cmdata.h"
Go to the source code of this file.
Classes | |
struct | _CM_USE_COUNT_LOG_ENTRY |
struct | _CM_USE_COUNT_LOG |
struct | _CMHIVE |
struct | _HV_HIVE_CELL_PAIR |
struct | _HV_TRACK_CELL_REF |
Typedefs | |
typedef ULONG | CM_CHECK_REGISTRY_STATUS |
typedef struct _CM_KEY_SECURITY_CACHE_ENTRY * | PCM_KEY_SECURITY_CACHE_ENTRY |
typedef struct _CM_KEY_CONTROL_BLOCK * | PCM_KEY_CONTROL_BLOCK |
typedef struct _CM_CELL_REMAP_BLOCK * | PCM_CELL_REMAP_BLOCK |
typedef struct _CM_USE_COUNT_LOG_ENTRY | CM_USE_COUNT_LOG_ENTRY |
typedef struct _CM_USE_COUNT_LOG_ENTRY * | PCM_USE_COUNT_LOG_ENTRY |
typedef struct _CM_USE_COUNT_LOG | CM_USE_COUNT_LOG |
typedef struct _CM_USE_COUNT_LOG * | PCM_USE_COUNT_LOG |
typedef struct _CMHIVE | CMHIVE |
typedef struct _CMHIVE * | PCMHIVE |
typedef struct _HV_HIVE_CELL_PAIR | HV_HIVE_CELL_PAIR |
typedef struct _HV_HIVE_CELL_PAIR * | PHV_HIVE_CELL_PAIR |
typedef struct _HV_TRACK_CELL_REF | HV_TRACK_CELL_REF |
typedef struct _HV_TRACK_CELL_REF * | PHV_TRACK_CELL_REF |
Variables | |
ULONG | CmlibTraceLevel |
#define CM_CHECK_REGISTRY_SUCCESS | ( | StatusCode | ) | ((ULONG)(StatusCode) == CM_CHECK_REGISTRY_GOOD) |
#define HvGetCell | ( | Hive, | |
Cell | |||
) | (Hive)->GetCellRoutine(Hive, Cell) |
#define HvReleaseCell | ( | Hive, | |
Cell | |||
) |
typedef ULONG CM_CHECK_REGISTRY_STATUS |
typedef struct _CM_USE_COUNT_LOG CM_USE_COUNT_LOG |
typedef struct _CM_USE_COUNT_LOG * PCM_USE_COUNT_LOG |
typedef struct _HV_HIVE_CELL_PAIR * PHV_HIVE_CELL_PAIR |
typedef struct _HV_TRACK_CELL_REF * PHV_TRACK_CELL_REF |
Checks the registry that is consistent and its contents valid and not corrupted. More specifically this function performs a deep check of the registry for the following properties:
[in] | Hive | A pointer to a CM hive of the registry to be checked in question. |
[in] | Flags | A bit mask flag used to influence the process of volatile keys purging. See Remarks for further information. |
CM_CHECK_REGISTRY_DONT_PURGE_VOLATILES – Tells the function that volatile data purging must not be done.
CM_CHECK_REGISTRY_PURGE_VOLATILES - Tells the function to purge out volatile information data from a registry hive, on demand. Purging doesn't come into action if no volatile data has been found.
CM_CHECK_REGISTRY_BOOTLOADER_PURGE_VOLATILES - A special flag used by FreeLdr and Environ. When this flag is set the function will not clean up the volatile storage but it will unintialize the storage instead (this is the case if the given registry hive for validation is a XP Beta 1 hive or newer). Otherwise it will perform a normal cleanup of the volatile storage.
CM_CHECK_REGISTRY_VALIDATE_HIVE - Tells the function to perform a thorough analysation of the underlying hive's bins and cells before doing validation of the registry tree. HvValidateHive function is called in this case.
CM_CHECK_REGISTRY_FIX_HIVE - Tells the function to fix the target registry hive if it is damaged. Usually this flag comes from a registry repair tool where the user asked to for its damaged hive to be fixed. In this case a self-heal procedure against the hive is performed.
Definition at line 1634 of file cmcheck.c.
Referenced by BiInitializeAndValidateHive(), CmFlushKey(), CmpInitializeHive(), CmSaveKey(), CmSaveMergedKeys(), and RegInitializeHive().
Definition at line 17 of file cminit.c.
Referenced by CmiInitializeHive().
Checks if self healing is permitted by the kernel and/or bootloader. Self healing is also triggered if such a request was prompted by the user to fix a broken hive. Such a request tipically comes from a registry repair tool such as the ReactOS Check Registry Utility.
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 369 of file cmheal.c.
Referenced by CmpRepairClassOfNodeKey(), CmpRepairKeyNodeSignature(), CmpRepairParentKey(), CmpRepairParentNode(), CmpRepairSubKeyCounts(), CmpRepairSubKeyList(), CmpRepairValueList(), CmpRepairValueListCount(), HvpInitializeMemoryHive(), HvpRecoverDataFromLog(), and HvpRecoverHeaderFromLog().
BOOLEAN NTAPI CmpAddSubKey | ( | IN PHHIVE | Hive, |
IN HCELL_INDEX | Parent, | ||
IN HCELL_INDEX | Child | ||
) |
Definition at line 1465 of file cmindex.c.
Referenced by CmiAddSubKey(), CmpCreateLinkNode(), CmpDeepCopyKeyInternal(), and CmpDoCreate().
NTSTATUS NTAPI CmpAddValueToList | ( | IN PHHIVE | Hive, |
IN HCELL_INDEX | ValueCell, | ||
IN ULONG | Index, | ||
IN HSTORAGE_TYPE | StorageType, | ||
IN OUT PCHILD_LIST | ChildList | ||
) |
Definition at line 207 of file cmvalue.c.
Referenced by CmiAddValueKey(), CmpCopyKeyValueList(), and CmpSetValueKeyNew().
Definition at line 49 of file registry.c.
Referenced by CmiInitializeHive(), and RegInitializeHive().
LONG NTAPI CmpCompareCompressedName | ( | IN PCUNICODE_STRING | SearchName, |
IN PWCHAR | CompressedName, | ||
IN ULONG | NameLength | ||
) |
Definition at line 109 of file cmname.c.
Referenced by CmpCompareSubkeys(), CmpDoCompareKeyName(), CmpFindNameInList(), CmpFindValueByNameFromCache(), CmpGetNameControlBlock(), and CmpValidateLexicalOrder().
Definition at line 95 of file cmname.c.
Referenced by BiEnumerateSubKeys(), CmpAddDriverToList(), CmpAddSubKey(), CmpConstructName(), CmpGetHiveName(), CmpIsSafe(), CmpMarkIndexDirty(), CmpQueryKeyData(), CmpQueryKeyDataFromCache(), CmpQueryKeyValueData(), CmpQueryNameInformation(), and CmpRemoveSubKey().
ULONG NTAPI CmpComputeHashKey | ( | IN ULONG | Hash, |
IN PCUNICODE_STRING | Name, | ||
IN BOOLEAN | AllowSeparators | ||
) |
Definition at line 460 of file cmindex.c.
Referenced by CmpAddToLeaf(), and CmpFindSubKeyByHash().
VOID NTAPI CmpCopyCompressedName | ( | OUT PWCHAR | Destination, |
IN ULONG | DestinationLength, | ||
IN PWCHAR | Source, | ||
IN ULONG | SourceLength | ||
) |
Definition at line 56 of file cmname.c.
Referenced by BiEnumerateSubKeys(), CmpAddDriverToList(), CmpAddSubKey(), CmpGetHiveName(), CmpIsSafe(), CmpMarkIndexDirty(), CmpQueryKeyData(), CmpQueryKeyValueData(), CmpQueryNameInformation(), and CmpRemoveSubKey().
NTSTATUS NTAPI CmpCopyKeyValueList | ( | IN PHHIVE | SourceHive, |
IN PCHILD_LIST | SrcValueList, | ||
IN PHHIVE | DestinationHive, | ||
IN OUT PCHILD_LIST | DestValueList, | ||
IN HSTORAGE_TYPE | StorageType | ||
) |
Definition at line 521 of file cmvalue.c.
Referenced by CmpDeepCopyKeyInternal().
Definition at line 21 of file cmname.c.
Referenced by CmCreateRootNode(), CmiAddValueKey(), CmiCreateSubKey(), CmpCreateLinkNode(), CmpCreateRootNode(), CmpDoCreateChild(), and CmpSetValueKeyNew().
BOOLEAN NTAPI CmpFindNameInList | ( | IN PHHIVE | Hive, |
IN PCHILD_LIST | ChildList, | ||
IN PCUNICODE_STRING | Name, | ||
OUT PULONG ChildIndex | OPTIONAL, | ||
OUT PHCELL_INDEX | CellIndex | ||
) |
Definition at line 149 of file cmname.c.
Referenced by BiGetRegistryValue(), CmDeleteValueKey(), CmpFindValueByName(), CmSetValueKey(), RegDeleteValueW(), and RegSetValueExW().
HCELL_INDEX NTAPI CmpFindSubKeyByName | ( | IN PHHIVE | Hive, |
IN PCM_KEY_NODE | Parent, | ||
IN PCUNICODE_STRING | SearchName | ||
) |
Definition at line 683 of file cmindex.c.
Referenced by BiLoadHive(), BiOpenKey(), CmGetSystemControlValues(), CmpDoCreate(), CmpFindControlSet(), CmpFindDrivers(), CmpIsSafe(), CmpParseKey(), CmpSortDriverList(), CmpWalkPath(), RegOpenKey(), and RegpCreateOrOpenKey().
HCELL_INDEX NTAPI CmpFindSubKeyByNumber | ( | IN PHHIVE | Hive, |
IN PCM_KEY_NODE | Node, | ||
IN ULONG | Number | ||
) |
Definition at line 600 of file cmindex.c.
Referenced by BiEnumerateSubKeys(), CmEnumerateKey(), CmpDeepCopyKeyInternal(), CmpFindDrivers(), and CmpValidateRegistryInternal().
HCELL_INDEX NTAPI CmpFindValueByName | ( | IN PHHIVE | Hive, |
IN PCM_KEY_NODE | KeyNode, | ||
IN PCUNICODE_STRING | Name | ||
) |
Definition at line 99 of file cmvalue.c.
Referenced by CmGetSystemControlValues(), CmpAddDriverToList(), CmpFindControlSet(), CmpFindTagIndex(), CmpGetSymbolicLink(), CmpIsLoadType(), CmpIsSafe(), CmpSortDriverList(), RegQueryValue(), and RegQueryValueExW().
Definition at line 60 of file registry.c.
Referenced by CmiInitializeHive(), and RegInitializeHive().
Definition at line 159 of file cmkeydel.c.
Referenced by BiDeleteKey(), CmDeleteKey(), CmpDoCreate(), CmpUnlinkHiveFromMaster(), and RegDeleteKeyW().
Definition at line 65 of file cmse.c.
Referenced by CmpFreeKeyByCell().
Definition at line 73 of file cmvalue.c.
Referenced by CmDeleteValueKey(), CmiAddValueKey(), CmpCopyKeyValueList(), CmpFreeKeyByCell(), CmpSetValueKeyNew(), and RegDeleteValueW().
Definition at line 44 of file cmvalue.c.
Referenced by CmpFreeValue(), and CmpSetValueKeyExisting().
BOOLEAN NTAPI CmpGetValueData | ( | IN PHHIVE | Hive, |
IN PCM_KEY_VALUE | Value, | ||
OUT PULONG | Length, | ||
OUT PVOID * | Buffer, | ||
OUT PBOOLEAN | BufferAllocated, | ||
OUT PHCELL_INDEX | CellToRelease | ||
) |
Definition at line 125 of file cmvalue.c.
Referenced by CmpFindTagIndex(), CmpGetSymbolicLink(), CmpGetValueDataFromCache(), and CmpValueToData().
Definition at line 395 of file cmlib.h.
Referenced by CmGetSystemControlValues(), CmpCopyValue(), CmpFreeValueData(), CmpGetValueData(), CmpMarkValueDataDirty(), CmpQueryKeyValueData(), CmpSetValueKeyExisting(), and CmpValidateValueListByCount().
BOOLEAN NTAPI CmpMarkIndexDirty | ( | IN PHHIVE | Hive, |
HCELL_INDEX | ParentKey, | ||
HCELL_INDEX | TargetKey | ||
) |
Definition at line 19 of file cmvalue.c.
Referenced by CmDeleteValueKey(), CmpMarkKeyDirty(), CmpSetValueKeyExisting(), and RegDeleteValueW().
Definition at line 74 of file cmname.c.
Referenced by CmCreateRootNode(), CmiAddValueKey(), CmiCreateSubKey(), CmpCreateLinkNode(), CmpCreateRootNode(), CmpDoCreateChild(), and CmpSetValueKeyNew().
Definition at line 19 of file cmse.c.
Referenced by CmpFreeSecurityDescriptor().
BOOLEAN NTAPI CmpRemoveSubKey | ( | IN PHHIVE | Hive, |
IN HCELL_INDEX | ParentKey, | ||
IN HCELL_INDEX | TargetKey | ||
) |
Definition at line 1694 of file cmindex.c.
Referenced by CmpFreeKeyByCell().
NTSTATUS NTAPI CmpRemoveValueFromList | ( | IN PHHIVE | Hive, |
IN ULONG | Index, | ||
IN OUT PCHILD_LIST | ChildList | ||
) |
Definition at line 320 of file cmvalue.c.
Referenced by CmDeleteValueKey(), and RegDeleteValueW().
BOOLEAN CMAPI CmpRepairClassOfNodeKey | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_Inout_ PCELL_DATA | CellData, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the class from damage due to class corruption within the node key.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in,out] | CellData | The cell data of the current cell of which its class is to be repaired. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 638 of file cmheal.c.
Referenced by CmpValidateKey().
BOOLEAN CMAPI CmpRepairKeyNodeSignature | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_Inout_ PCELL_DATA | CellData, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the key node signature from damage due to signature corruption.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in,out] | CellData | The cell data of the current cell of which its signature is to be repaired. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 586 of file cmheal.c.
Referenced by CmpValidateKey().
BOOLEAN CMAPI CmpRepairParentKey | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | TargetKey, | ||
_In_ HCELL_INDEX | ParentKey, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the parent key from damage by removing the offending subkey cell.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | TargetKey | The offending target cell to remove from the parent. |
[in] | ParentKey | The damaged parent key cell to heal. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 409 of file cmheal.c.
Referenced by CmpValidateRegistryInternal().
BOOLEAN CMAPI CmpRepairParentNode | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_In_ HCELL_INDEX | ParentCell, | ||
_Inout_ PCELL_DATA | CellData, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the parent of the node from damage due to parent cell and parent node incosistency.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in] | ParentCell | The sane parent cell which is used by the function for new parent node assignment. |
[in,out] | CellData | The cell data of the current cell of which its parent node is to be repaired. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 533 of file cmheal.c.
Referenced by CmpValidateKey().
BOOLEAN CMAPI CmpRepairSubKeyCounts | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_In_ ULONG | Count, | ||
_Inout_ PCELL_DATA | CellData, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the subkey list count due to corruption. The process involves by fixing the count itself with a sane count.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in] | Count | The healthy count which is used by the function to fix the subkeys list count. |
[in,out] | CellData | The cell data of the current cell of which its subkeys list is to be fixed. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 830 of file cmheal.c.
Referenced by CmpValidateSubKeyList().
BOOLEAN CMAPI CmpRepairSubKeyList | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_Inout_ PCELL_DATA | CellData, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the subkey list due to corruption. The process involves by purging the whole damaged subkeys list.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in,out] | CellData | The cell data of the current cell of which its subkeys list is to be fixed. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 884 of file cmheal.c.
Referenced by CmpValidateKey().
BOOLEAN CMAPI CmpRepairValueList | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the value list due to corruption. The process involes by purging the whole damaged list.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 766 of file cmheal.c.
Referenced by CmpValidateKey().
BOOLEAN CMAPI CmpRepairValueListCount | ( | _Inout_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CurrentCell, | ||
_In_ ULONG | ListCountIndex, | ||
_Inout_ PCELL_DATA | ValueListData, | ||
_In_ BOOLEAN | FixHive | ||
) |
Repairs the value list count of key due to corruption. The process involves by removing one damaged value less from the list.
[in,out] | Hive | A pointer to a hive descriptor containing faulty data. |
[in] | CurrentCell | The current cell to be marked as dirty. |
[in] | ListCountIndex | The value count index which points to the actual value in the list to be removed. |
[in,out] | ValueListData | The value list cell data containing the actual list of which the damaged is to be removed from. |
[in] | FixHive | If set to TRUE, self heal is triggered and the target hive will be fixed. Otherwise the hive will not be fixed. |
Definition at line 697 of file cmheal.c.
Referenced by CmpValidateValueListByCount().
NTSTATUS NTAPI CmpSetValueDataNew | ( | IN PHHIVE | Hive, |
IN PVOID | Data, | ||
IN ULONG | DataSize, | ||
IN HSTORAGE_TYPE | StorageType, | ||
IN HCELL_INDEX | ValueCell, | ||
OUT PHCELL_INDEX | DataCell | ||
) |
Definition at line 289 of file cmvalue.c.
Referenced by CmpSetValueKeyNew().
PCELL_DATA NTAPI CmpValueToData | ( | IN PHHIVE | Hive, |
IN PCM_KEY_VALUE | Value, | ||
OUT PULONG | Length | ||
) |
Definition at line 167 of file cmvalue.c.
Referenced by BiGetRegistryValue(), CmpAddDriverToList(), CmpFindControlSet(), CmpFindTagIndex(), CmpIsLoadType(), CmpIsSafe(), CmpSortDriverList(), and RepGetValueData().
HCELL_INDEX CMAPI HvAllocateCell | ( | PHHIVE | RegistryHive, |
ULONG | Size, | ||
HSTORAGE_TYPE | Storage, | ||
IN HCELL_INDEX | Vicinity | ||
) |
Referenced by CmCreateRootNode(), CmiAddValueKey(), CmiCreateSecurityKey(), CmiCreateSubKey(), CmpAddSubKey(), CmpAddValueToList(), CmpCopyCell(), CmpCreateLinkNode(), CmpCreateRootNode(), CmpDoCreateChild(), CmpSetValueDataNew(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), CmpSplitLeaf(), and RegSetValueExW().
Referenced by CmiInitializeHive(), CmpDestroyHive(), and CmUnloadKey().
VOID CMAPI HvFreeCell | ( | PHHIVE | RegistryHive, |
HCELL_INDEX | CellOffset | ||
) |
Definition at line 468 of file hivecell.c.
Referenced by CmCreateRootNode(), CmiAddValueKey(), CmiCreateSubKey(), CmpCopyKeyValueList(), CmpCopyValue(), CmpDeepCopyKeyInternal(), CmpDoCreateChild(), CmpFreeKeyBody(), CmpFreeKeyByCell(), CmpFreeSecurityDescriptor(), CmpFreeValue(), CmpFreeValueData(), CmpRemoveSubKey(), CmpRemoveValueFromList(), CmpSetValueKeyNew(), CmpSplitLeaf(), HvReallocateCell(), and RegSetValueExW().
Referenced by CmFlushKey(), and CmpDoFlushAll().
NTSTATUS CMAPI HvInitialize | ( | PHHIVE | RegistryHive, |
ULONG | OperationType, | ||
ULONG | HiveFlags, | ||
ULONG | FileType, | ||
PVOID HiveData | OPTIONAL, | ||
PALLOCATE_ROUTINE | Allocate, | ||
PFREE_ROUTINE | Free, | ||
PFILE_SET_SIZE_ROUTINE | FileSetSize, | ||
PFILE_WRITE_ROUTINE | FileWrite, | ||
PFILE_READ_ROUTINE | FileRead, | ||
PFILE_FLUSH_ROUTINE | FileFlush, | ||
ULONG Cluster | OPTIONAL, | ||
PCUNICODE_STRING FileName | OPTIONAL | ||
) |
Definition at line 53 of file hivecell.c.
Referenced by CmpValidateClass(), CmpValidateKey(), CmpValidateSubKeyList(), CmpValidateValueList(), and CmpValidateValueListByCount().
Definition at line 153 of file hivecell.c.
Referenced by CmDeleteKey(), CmDeleteValueKey(), CmpAddValueToList(), CmpRemoveSubKey(), CmpRemoveValueFromList(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), RegDeleteKeyW(), and RegDeleteValueW().
BOOLEAN CMAPI HvMarkCellDirty | ( | PHHIVE | RegistryHive, |
HCELL_INDEX | CellOffset, | ||
BOOLEAN | HoldingLock | ||
) |
Definition at line 109 of file hivecell.c.
Referenced by CmDeleteValueKey(), CmiAddSubKey(), CmiAddValueKey(), CmpAddSubKey(), CmpAddToLeaf(), CmpCreateLinkNode(), CmpDoCreate(), CmpMarkIndexDirty(), CmpMarkKeyDirty(), CmpMarkValueDataDirty(), CmpPurgeVolatiles(), CmpRemoveSubKeyInLeaf(), CmpRemoveSubkeyInRoot(), CmpRepairClassOfNodeKey(), CmpRepairKeyNodeSignature(), CmpRepairParentKey(), CmpRepairParentNode(), CmpRepairSubKeyCounts(), CmpRepairSubKeyList(), CmpRepairValueList(), CmpRepairValueListCount(), CmpSelectLeaf(), CmpSetValueKeyExisting(), CmpSetValueKeyNew(), CmpSplitLeaf(), CmpValidateClass(), CmSetValueKey(), HvAllocateCell(), HvFreeCell(), RegDeleteValueW(), and RegSetValueExW().
PHBIN CMAPI HvpAddBin | ( | PHHIVE | RegistryHive, |
ULONG | Size, | ||
HSTORAGE_TYPE | Storage | ||
) |
Definition at line 12 of file hivebin.c.
Referenced by HvAllocateCell().
Definition at line 306 of file hivecell.c.
Referenced by HvpInitializeMemoryHive().
PCELL_DATA CMAPI HvpGetCellData | ( | _In_ PHHIVE | Hive, |
_In_ HCELL_INDEX | CellIndex | ||
) |
Definition at line 77 of file hivecell.c.
Referenced by HvInitialize().
ULONG CMAPI HvpHiveHeaderChecksum | ( | PHBASE_BLOCK | HiveHeader | ) |
Definition at line 17 of file hivesum.c.
Referenced by CmCreateRootNode(), HvIsInPlaceBaseBlockValid(), HvpRecoverHeaderFromLog(), HvpVerifyHiveHeader(), HvpWriteHive(), HvpWriteLog(), and RegRecoverDataHive().
Validates the base block header of a registry file (hive or log).
[in] | BaseBlock | A pointer to a base block header to be validated. |
[in] | FileType | The file type of a registry file to check against the file type of the base block. |
Definition at line 49 of file hiveinit.c.
Referenced by HvpGetHiveHeader(), HvpInitializeFlatHive(), HvpInitializeMemoryHive(), HvpRecoverHeaderFromLog(), and RegRecoverHeaderHive().
HCELL_INDEX CMAPI HvReallocateCell | ( | PHHIVE | RegistryHive, |
HCELL_INDEX | CellOffset, | ||
ULONG | Size | ||
) |
Definition at line 421 of file hivecell.c.
Referenced by CmpAddToLeaf(), CmpAddValueToList(), CmpRemoveValueFromList(), CmpSetValueKeyExisting(), and CmpSplitLeaf().
VOID CMAPI HvReleaseFreeCellRefArray | ( | IN OUT PHV_TRACK_CELL_REF | CellRef | ) |
Definition at line 634 of file hivecell.c.
Referenced by CmEnumerateKey(), and CmQueryKey().
Referenced by _Function_class_(), CmFlushKey(), CmLoadKey(), CmpDoFlushAll(), and CmpDoFlushNextHive().
Synchronizes a hive with recovered data during a healing/resuscitation operation of the registry.
[in] | RegistryHive | A pointer to a hive descriptor where data syncing is to be done. |
Definition at line 672 of file hivewrt.c.
Referenced by HvInitialize().
BOOLEAN CMAPI HvTrackCellRef | ( | IN OUT PHV_TRACK_CELL_REF | CellRef, |
IN PHHIVE | Hive, | ||
IN HCELL_INDEX | Cell | ||
) |
Definition at line 554 of file hivecell.c.
Referenced by CmEnumerateKey(), and CmQueryKey().
Validates a bin from a hive. It performs checks against the cells from this bin, ensuring the bin is not corrupt and that the cells are consistent with each other.
[in] | Hive | A pointer to a hive descriptor of which a hive bin is to be validated. |
[in] | Bin | A pointer to a bin where its cells are to be validated. |
Definition at line 1414 of file cmcheck.c.
Referenced by HvValidateHive().
CM_CHECK_REGISTRY_STATUS NTAPI HvValidateHive | ( | _In_ PHHIVE | Hive | ) |
Validates a registry hive. This function ensures that the storage of this hive has valid bins.
[in] | Hive | A pointer to a hive descriptor where validation on its hive bins is to be performed. |
Definition at line 1506 of file cmcheck.c.
Referenced by CmCheckRegistry().
Writes data to an alternate registry hive. An alternate hive is usually backed up by a primary hive. This function is tipically used to force write data into the alternate hive if both hives no longer match.
[in] | RegistryHive | A pointer to a hive descriptor where data is to be written into. |
Definition at line 634 of file hivewrt.c.
Referenced by _Function_class_().
Referenced by CmSaveKey(), CmSaveMergedKeys(), and ExportBinaryHive().