#include "cmp.h"
Go to the source code of this file.
Classes | |
struct | CMP_COPY_STACK_ENTRY |
Defines | |
#define | DEBUG_TREE_SYNC FALSE |
#define | CMP_INITIAL_STACK_SIZE 1024 |
Typedefs | |
typedef * | PCMP_COPY_STACK_ENTRY |
Functions | |
BOOLEAN | CmpCopySyncTree2 (PCMP_COPY_STACK_ENTRY CmpCopyStack, ULONG CmpCopyStackSize, ULONG CmpCopyStackTop, PHHIVE CmpSourceHive, PHHIVE CmpTargetHive, BOOLEAN CopyVolatile, CMP_COPY_TYPE CopyType) |
BOOLEAN | CmpFreeKeyValues (PHHIVE Hive, HCELL_INDEX Cell, PCM_KEY_NODE Node) |
BOOLEAN | CmpSyncKeyValues (PHHIVE SourceHive, HCELL_INDEX SourceKeyCell, PCM_KEY_NODE SourceKeyNode, PHHIVE TargetHive, HCELL_INDEX TargetKeyCell, PCM_KEY_NODE TargetKeyNode) |
BOOLEAN | CmpMergeKeyValues (PHHIVE SourceHive, HCELL_INDEX SourceKeyCell, PCM_KEY_NODE SourceKeyNode, PHHIVE TargetHive, HCELL_INDEX TargetKeyCell, PCM_KEY_NODE TargetKeyNode) |
BOOLEAN | CmpSyncSubKeysAfterDelete (PHHIVE SourceHive, PCM_KEY_NODE SourceCell, PHHIVE TargetHive, PCM_KEY_NODE TargetCell, WCHAR *NameBuffer) |
BOOLEAN | CmpMarkKeyValuesDirty (PHHIVE Hive, HCELL_INDEX Cell, PCM_KEY_NODE Node) |
BOOLEAN | CmpMarkKeyParentDirty (PHHIVE Hive, HCELL_INDEX Cell) |
BOOLEAN | CmpCopySyncTree (PHHIVE SourceHive, HCELL_INDEX SourceCell, PHHIVE TargetHive, HCELL_INDEX TargetCell, BOOLEAN CopyVolatile, CMP_COPY_TYPE CopyType) |
HCELL_INDEX | CmpCopyKeyPartial (PHHIVE SourceHive, HCELL_INDEX SourceKeyCell, PHHIVE TargetHive, HCELL_INDEX Parent, BOOLEAN CopyValues) |
HCELL_INDEX | CmpCopyValue (PHHIVE SourceHive, HCELL_INDEX SourceValueCell, PHHIVE TargetHive, HSTORAGE_TYPE Type) |
HCELL_INDEX | CmpCopyCell (PHHIVE SourceHive, HCELL_INDEX SourceCell, PHHIVE TargetHive, HSTORAGE_TYPE Type) |
VOID | CmpInitializeKeyNameString (PCM_KEY_NODE Cell, PUNICODE_STRING KeyName, WCHAR *NameBuffer) |
VOID | CmpInitializeValueNameString (PCM_KEY_VALUE Cell, PUNICODE_STRING ValueName, WCHAR *NameBuffer) |
|
Definition at line 38 of file cmtrecpy.c. Referenced by CmpCopySyncTree(). |
|
Definition at line 31 of file cmtrecpy.c. |
|
Referenced by CmpCopySyncTree(), and CmpCopySyncTree2(). |
|
Definition at line 1009 of file cmtrecpy.c. References CML_MINOR, CMLOG, CMS_SAVRES, HCELL_INDEX, HCELL_NIL, HvAllocateCell(), HvGetCell, and HvGetCellSize(). Referenced by CmpCopyKeyPartial(), CmpCopyValue(), and CmpSyncKeyValues().
|
|
Definition at line 686 of file cmtrecpy.c. References _CM_KEY_NODE::Class, _CM_KEY_NODE::ClassLength, CML_MINOR, CMLOG, CmpAssignSecurityDescriptor(), CmpCopyCell(), CmpCopyValue(), CMS_SAVRES, _CHILD_LIST::Count, _CM_KEY_SECURITY::Descriptor, FALSE, _CM_KEY_NODE::Flags, HCELL_INDEX, HCELL_NIL, HvAllocateCell(), HvFreeCell(), HvGetCell, HvGetCellType, KEY_COMP_NAME, KEY_HIVE_ENTRY, KEY_NO_DELETE, _CELL_DATA::_u::KeyList, _CELL_DATA::_u::KeyNode, _CELL_DATA::_u::KeySecurity, _CHILD_LIST::List, NT_SUCCESS, NTSTATUS(), _CM_KEY_NODE::Parent, _CM_KEY_NODE::Security, Stable, _CM_KEY_NODE::SubKeyCounts, _CM_KEY_NODE::SubKeyLists, TRUE, _CELL_DATA::u, _CM_KEY_NODE::ValueList, and Volatile. Referenced by CmpCopySyncTree2(), CmpLoadHiveVolatile(), CmRestoreKey(), CmSaveKey(), and CmSaveMergedKeys().
|
|
Definition at line 127 of file cmtrecpy.c. References CML_MAJOR, CMLOG, CMP_INITIAL_STACK_SIZE, CmpCopySyncTree2(), CMS_SAVRES, ExAllocatePool, ExFreePool(), FALSE, NULL, PagedPool, and PCMP_COPY_STACK_ENTRY.
|
|
Definition at line 251 of file cmtrecpy.c. References CML_MINOR, CMLOG, CmpAddSubKey(), CmpCopyKeyPartial(), CmpFindSubKeyByName(), CmpFindSubKeyByNumber(), CmpInitializeKeyNameString(), CmpMarkKeyParentDirty(), CmpMergeKeyValues(), CmpSyncKeyValues(), CmpSyncSubKeysAfterDelete(), CMS_SAVRES, ExAllocatePool, ExFreePool(), FALSE, HCELL_INDEX, HCELL_NIL, HvGetCell, HvGetCellType, KeyName, _CM_KEY_NODE::LastWriteTime, MAX_KEY_NAME_LENGTH, Merge, NULL, PagedPool, PCMP_COPY_STACK_ENTRY, Stable, _CM_KEY_NODE::SubKeyCounts, Sync, TRUE, and Volatile. Referenced by CmpCopySyncTree().
|
|
Definition at line 895 of file cmtrecpy.c. References CM_KEY_VALUE_SMALL, CM_KEY_VALUE_SPECIAL_SIZE, CML_MINOR, CMLOG, CmpCopyCell(), CmpIsHKeyValueSmall, CMS_SAVRES, _CM_KEY_VALUE::Data, _CM_KEY_VALUE::DataLength, HCELL_INDEX, HCELL_NIL, HvFreeCell(), HvGetCell, _CELL_DATA::_u::KeyValue, and _CELL_DATA::u. Referenced by CmpCopyKeyPartial(), CmpMergeKeyValues(), and CmpSyncKeyValues().
|
|
Definition at line 1064 of file cmtrecpy.c. References Cell, _CM_KEY_NODE::Class, _CM_KEY_NODE::ClassLength, CmpFreeSecurityDescriptor(), CmpFreeValue(), CmpMarkKeyValuesDirty(), _CHILD_LIST::Count, FALSE, _CM_KEY_NODE::Flags, HCELL_NIL, Hive, HvFreeCell(), HvGetCell, KEY_HIVE_EXIT, _CELL_DATA::_u::KeyList, _CHILD_LIST::List, TRUE, _CELL_DATA::u, and _CM_KEY_NODE::ValueList. Referenced by CmpSyncKeyValues().
|
|
Definition at line 1515 of file cmtrecpy.c. References Cell, CmpCompressedNameSize(), CmpCopyCompressedName(), KEY_COMP_NAME, KeyName, MAX_KEY_NAME_LENGTH, and USHORT. Referenced by CmpCopySyncTree2(), CmpFlushNotify(), CmpFreePostBlock(), CmpNotifyChangeKey(), CmpPostNotify(), and CmpSyncSubKeysAfterDelete().
|
|
Definition at line 1582 of file cmtrecpy.c. References Cell, CmpCompressedNameSize(), CmpCopyCompressedName(), MAX_KEY_VALUE_NAME_LENGTH, VALUE_COMP_NAME, and ValueName. Referenced by CmpMergeKeyValues().
|
|
Definition at line 1870 of file cmtrecpy.c. References Cell, CmpMarkIndexDirty(), FALSE, _CM_KEY_NODE::Flags, Hive, HvGetCell, HvMarkCellDirty(), KEY_HIVE_ENTRY, _CELL_DATA::_u::KeyNode, _CM_KEY_NODE::Parent, TRUE, and _CELL_DATA::u. Referenced by CmpCopySyncTree2().
|
|
Definition at line 1767 of file cmtrecpy.c. References _CM_KEY_SECURITY::Blink, Cell, _CM_KEY_NODE::Class, CmpIsHKeyValueSmall, _CHILD_LIST::Count, _CM_KEY_VALUE::Data, _CM_KEY_VALUE::DataLength, FALSE, _CM_KEY_NODE::Flags, _CM_KEY_SECURITY::Flink, HCELL_NIL, Hive, HvGetCell, HvMarkCellDirty(), KEY_HIVE_EXIT, _CELL_DATA::_u::KeyList, _CELL_DATA::_u::KeySecurity, _CELL_DATA::_u::KeyValue, _CHILD_LIST::List, _CM_KEY_NODE::Security, TRUE, _CELL_DATA::u, and _CM_KEY_NODE::ValueList. Referenced by CmpFreeKeyValues().
|
|
Referenced by CmpCopySyncTree2(), and CmSaveMergedKeys(). |
|
Definition at line 1338 of file cmtrecpy.c. References _CM_KEY_NODE::Class, _CM_KEY_NODE::ClassLength, CmpAssignSecurityDescriptor(), CmpCopyCell(), CmpCopyValue(), CmpFreeKeyValues(), _CHILD_LIST::Count, _CM_KEY_SECURITY::Descriptor, FALSE, HCELL_INDEX, HCELL_NIL, HvAllocateCell(), HvFreeCell(), HvGetCell, HvGetCellType, _CELL_DATA::_u::KeyList, _CELL_DATA::_u::KeySecurity, _CHILD_LIST::List, NT_SUCCESS, NTSTATUS(), _CM_KEY_NODE::Security, TRUE, _CELL_DATA::u, and _CM_KEY_NODE::ValueList. Referenced by CmpCopySyncTree2(), and CmpMergeKeyValues().
|
|
Definition at line 1648 of file cmtrecpy.c. References CmpDeleteTree(), CmpFindSubKeyByName(), CmpFindSubKeyByNumber(), CmpFreeKeyByCell(), CmpInitializeKeyNameString(), FALSE, HCELL_INDEX, HCELL_NIL, HvGetCell, NT_SUCCESS, Stable, _CM_KEY_NODE::SubKeyCounts, TRUE, and Volatile. Referenced by CmpCopySyncTree2().
|