Data Structures |
| struct | PCM_KEY_HASH |
| struct | PCM_KEY_HASH_TABLE_ENTRY |
| struct | PCM_NAME_HASH |
| struct | PCM_NAME_HASH_TABLE_ENTRY |
| struct | PCM_KEY_SECURITY_CACHE |
| struct | PCM_KEY_SECURITY_CACHE_ENTRY |
| struct | PCACHED_CHILD_LIST |
| struct | PCM_INDEX_HINT_BLOCK |
| struct | PCM_KEY_BODY |
| struct | PCM_NAME_CONTROL_BLOCK |
| struct | PCM_KEY_CONTROL_BLOCK |
| struct | PCM_NOTIFY_BLOCK |
| struct | PCM_CELL_REMAP_BLOCK |
| struct | PCM_ALLOC_PAGE |
| struct | PCM_DELAY_ALLOC |
| struct | PCM_DELAYED_CLOSE_ENTRY |
| struct | PCM_DELAY_DEREF_KCB_ITEM |
| struct | PCM_USE_COUNT_LOG_ENTRY |
| struct | PCM_USE_COUNT_LOG |
| struct | PCMHIVE |
| struct | PCM_CACHED_VALUE_INDEX |
| struct | PCM_CACHED_VALUE |
| struct | PHIVE_LIST_ENTRY |
| struct | PCM_PARSE_CONTEXT |
| struct | PCMP_MF_TYPE |
| struct | PCM_SYSTEM_CONTROL_VECTOR |
| struct | PKEY_VALUE_INFORMATION |
| struct | PKEY_INFORMATION |
Defines |
| #define | _CM_ |
| #define | _CM_DEBUG_ 0x00 |
| #define | CM_HANDLE_DEBUG 0x01 |
| #define | CM_NAMESPACE_DEBUG 0x02 |
| #define | CM_SECURITY_DEBUG 0x04 |
| #define | CM_REFERENCE_DEBUG 0x08 |
| #define | CM_CALLBACK_DEBUG 0x10 |
| #define | CMTRACE(x, fmt,...) DPRINT(fmt, ##__VA_ARGS__) |
| #define | ASSERT_VALUE_BIG(h, s) ASSERTMSG("Big keys not supported!", !CmpIsKeyValueBig(h, s)); |
| #define | CM_KCB_SIGNATURE 'bKmC' |
| #define | CM_KCB_INVALID_SIGNATURE '4FmC' |
| #define | CM_KCB_NO_SUBKEY 0x01 |
| #define | CM_KCB_SUBKEY_ONE 0x02 |
| #define | CM_KCB_SUBKEY_HINT 0x04 |
| #define | CM_KCB_SYM_LINK_FOUND 0x08 |
| #define | CM_KCB_KEY_NON_EXIST 0x10 |
| #define | CM_KCB_NO_DELAY_CLOSE 0x20 |
| #define | CM_KCB_INVALID_CACHED_INFO 0x40 |
| #define | CM_KCB_READ_ONLY_KEY 0x80 |
| #define | CM_KEY_VALUE_SMALL 0x4 |
| #define | CM_KEY_VALUE_BIG 0x3FD8 |
| #define | CM_KEY_VALUE_SPECIAL_SIZE 0x80000000 |
| #define | CMP_SECURITY_HASH_LISTS 64 |
| #define | CMP_MAX_CALLBACKS 100 |
| #define | CMP_HASH_IRRATIONAL 314159269 |
| #define | CMP_HASH_PRIME 1000000007 |
| #define | CMP_CREATE_FAKE_KCB 0x1 |
| #define | CMP_LOCK_HASHES_FOR_KCB 0x2 |
| #define | CMP_CREATE_KCB_KCB_LOCKED 0x2 |
| #define | CMP_OPEN_KCB_NO_CREATE 0x4 |
| #define | CMP_ENLIST_KCB_LOCKED_SHARED 0x1 |
| #define | CMP_ENLIST_KCB_LOCKED_EXCLUSIVE 0x2 |
| #define | CMP_UNLOCK_KCB_LOCKED 0x1 |
| #define | CMP_UNLOCK_REGISTRY_LOCKED 0x2 |
| #define | MAXIMUM_CACHED_DATA 2 * PAGE_SIZE |
| #define | CM_NUMBER_OF_MACHINE_HIVES 6 |
| #define | CM_KCBS_PER_PAGE ((PAGE_SIZE - FIELD_OFFSET(CM_ALLOC_PAGE, AllocPage)) / sizeof(CM_KEY_CONTROL_BLOCK)) |
| #define | CM_DELAYS_PER_PAGE ((PAGE_SIZE - FIELD_OFFSET(CM_ALLOC_PAGE, AllocPage)) / sizeof(CM_DELAY_ALLOC)) |
Enumerations |
| enum | VALUE_SEARCH_RETURN_TYPE { SearchSuccess,
SearchNeedExclusiveLock,
SearchFail
} |
Functions |
| NTSTATUS | CmiCallRegisteredCallbacks (IN REG_NOTIFY_CLASS Argument1, IN PVOID Argument2) |
| VOID NTAPI | CmpInitHiveViewList (IN PCMHIVE Hive) |
| VOID NTAPI | CmpInitSecurityCache (IN PCMHIVE Hive) |
| VALUE_SEARCH_RETURN_TYPE NTAPI | CmpFindValueByNameFromCache (IN PCM_KEY_CONTROL_BLOCK Kcb, IN PCUNICODE_STRING Name, OUT PCM_CACHED_VALUE **CachedValue, OUT ULONG *Index, OUT PCM_KEY_VALUE *Value, OUT BOOLEAN *ValueIsCached, OUT PHCELL_INDEX CellToRelease) |
| VALUE_SEARCH_RETURN_TYPE NTAPI | CmpQueryKeyValueData (IN PCM_KEY_CONTROL_BLOCK Kcb, IN PCM_CACHED_VALUE *CachedValue, IN PCM_KEY_VALUE ValueKey, IN BOOLEAN ValueIsCached, IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, IN PVOID KeyValueInformation, IN ULONG Length, OUT PULONG ResultLength, OUT PNTSTATUS Status) |
| VALUE_SEARCH_RETURN_TYPE NTAPI | CmpGetValueListFromCache (IN PCM_KEY_CONTROL_BLOCK Kcb, OUT PCELL_DATA *CellData, OUT BOOLEAN *IndexIsCached, OUT PHCELL_INDEX ValueListToRelease) |
| VALUE_SEARCH_RETURN_TYPE NTAPI | CmpGetValueKeyFromCache (IN PCM_KEY_CONTROL_BLOCK Kcb, IN PCELL_DATA CellData, IN ULONG Index, OUT PCM_CACHED_VALUE **CachedValue, OUT PCM_KEY_VALUE *Value, IN BOOLEAN IndexIsCached, OUT BOOLEAN *ValueIsCached, OUT PHCELL_INDEX CellToRelease) |
| VALUE_SEARCH_RETURN_TYPE NTAPI | CmpCompareNewValueDataAgainstKCBCache (IN PCM_KEY_CONTROL_BLOCK Kcb, IN PUNICODE_STRING ValueName, IN ULONG Type, IN PVOID Data, IN ULONG DataSize) |
| ULONG NTAPI | CmCheckRegistry (IN PCMHIVE Hive, IN ULONG Flags) |
| NTSTATUS NTAPI | CmpAddToHiveFileList (IN PCMHIVE Hive) |
| VOID NTAPI | CmpSetGlobalQuotaAllowed (VOID) |
| VOID NTAPI | CmpReportNotify (IN PCM_KEY_CONTROL_BLOCK Kcb, IN PHHIVE Hive, IN HCELL_INDEX Cell, IN ULONG Filter) |
| VOID NTAPI | CmpFlushNotify (IN PCM_KEY_BODY KeyBody, IN BOOLEAN LockHeld) |
| VOID NTAPI | CmpInitCallback (VOID) |
| VOID NTAPI | CmpInitializeCache (VOID) |
| VOID NTAPI | CmpInitCmPrivateDelayAlloc (VOID) |
| VOID NTAPI | CmpInitCmPrivateAlloc (VOID) |
| VOID NTAPI | CmpInitDelayDerefKCBEngine (VOID) |
| VOID NTAPI | CmpCloseKeyObject (IN PEPROCESS Process OPTIONAL, IN PVOID Object, IN ACCESS_MASK GrantedAccess, IN ULONG ProcessHandleCount, IN ULONG SystemHandleCount) |
| VOID NTAPI | CmpDeleteKeyObject (IN PVOID Object) |
| NTSTATUS NTAPI | CmpParseKey (IN PVOID ParseObject, IN PVOID ObjectType, IN OUT PACCESS_STATE AccessState, IN KPROCESSOR_MODE AccessMode, IN ULONG Attributes, IN OUT PUNICODE_STRING CompleteName, IN OUT PUNICODE_STRING RemainingName, IN OUT PVOID Context OPTIONAL, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos OPTIONAL, OUT PVOID *Object) |
| NTSTATUS NTAPI | CmpSecurityMethod (IN PVOID Object, IN SECURITY_OPERATION_CODE OperationType, IN PSECURITY_INFORMATION SecurityInformation, IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN OUT PULONG CapturedLength, IN OUT PSECURITY_DESCRIPTOR *ObjectSecurityDescriptor, IN POOL_TYPE PoolType, IN PGENERIC_MAPPING GenericMapping) |
| NTSTATUS NTAPI | CmpQueryKeyName (IN PVOID Object, IN BOOLEAN HasObjectName, OUT POBJECT_NAME_INFORMATION ObjectNameInfo, IN ULONG Length, OUT PULONG ReturnLength, IN KPROCESSOR_MODE AccessMode) |
| NTSTATUS NTAPI | CmpInitializeHive (OUT PCMHIVE *CmHive, IN ULONG Operation, IN ULONG Flags, IN ULONG FileType, IN PVOID HiveData OPTIONAL, IN HANDLE Primary, IN HANDLE Log, IN HANDLE External, IN PCUNICODE_STRING FileName OPTIONAL, IN ULONG CheckFlags) |
| PSECURITY_DESCRIPTOR NTAPI | CmpHiveRootSecurityDescriptor (VOID) |
| NTSTATUS NTAPI | CmpLinkHiveToMaster (IN PUNICODE_STRING LinkName, IN HANDLE RootDirectory, IN PCMHIVE CmHive, IN BOOLEAN Allocate, IN PSECURITY_DESCRIPTOR SecurityDescriptor) |
| NTSTATUS NTAPI | CmpOpenHiveFiles (IN PCUNICODE_STRING BaseName, IN PCWSTR Extension OPTIONAL, IN PHANDLE Primary, IN PHANDLE Log, IN PULONG PrimaryDisposition, IN PULONG LogDisposition, IN BOOLEAN CreateAllowed, IN BOOLEAN MarkAsSystemHive, IN BOOLEAN NoBuffering, OUT PULONG ClusterSize OPTIONAL) |
| NTSTATUS NTAPI | CmpInitHiveFromFile (IN PCUNICODE_STRING HiveName, IN ULONG HiveFlags, OUT PCMHIVE *Hive, IN OUT PBOOLEAN New, IN ULONG CheckFlags) |
| VOID NTAPI | CmpInitializeHiveList (IN USHORT Flag) |
| BOOLEAN NTAPI | CmpTestRegistryLockExclusive (VOID) |
| BOOLEAN NTAPI | CmpTestRegistryLock (VOID) |
| VOID NTAPI | CmpLockRegistryExclusive (VOID) |
| VOID NTAPI | CmpLockRegistry (VOID) |
| VOID NTAPI | CmpUnlockRegistry (VOID) |
| VOID NTAPI | CmpLockHiveFlusherExclusive (IN PCMHIVE Hive) |
| VOID NTAPI | CmpLockHiveFlusherShared (IN PCMHIVE Hive) |
| BOOLEAN NTAPI | CmpTestHiveFlusherLockExclusive (IN PCMHIVE Hive) |
| BOOLEAN NTAPI | CmpTestHiveFlusherLockShared (IN PCMHIVE Hive) |
| VOID NTAPI | CmpUnlockHiveFlusher (IN PCMHIVE Hive) |
| PVOID NTAPI | CmpAllocateDelayItem (VOID) |
| VOID NTAPI | CmpFreeDelayItem (PVOID Entry) |
| VOID NTAPI | CmpDelayDerefKeyControlBlock (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | CmpAddToDelayedClose (IN PCM_KEY_CONTROL_BLOCK Kcb, IN BOOLEAN LockHeldExclusively) |
| VOID NTAPI | CmpArmDelayedCloseTimer (VOID) |
| VOID NTAPI | CmpRemoveFromDelayedClose (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | CmpInitializeDelayedCloseTable (VOID) |
| PCM_KEY_CONTROL_BLOCK NTAPI | CmpCreateKeyControlBlock (IN PHHIVE Hive, IN HCELL_INDEX Index, IN PCM_KEY_NODE Node, IN PCM_KEY_CONTROL_BLOCK Parent, IN ULONG Flags, IN PUNICODE_STRING KeyName) |
| PCM_KEY_CONTROL_BLOCK NTAPI | CmpAllocateKeyControlBlock (VOID) |
| VOID NTAPI | CmpFreeKeyControlBlock (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | CmpRemoveKeyControlBlock (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | CmpCleanUpKcbValueCache (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | CmpCleanUpKcbCacheWithLock (IN PCM_KEY_CONTROL_BLOCK Kcb, IN BOOLEAN LockHeldExclusively) |
| VOID NTAPI | CmpCleanUpSubKeyInfo (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| PUNICODE_STRING NTAPI | CmpConstructName (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| BOOLEAN NTAPI | CmpReferenceKeyControlBlock (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | CmpDereferenceKeyControlBlockWithLock (IN PCM_KEY_CONTROL_BLOCK Kcb, IN BOOLEAN LockHeldExclusively) |
| VOID NTAPI | CmpDereferenceKeyControlBlock (IN PCM_KEY_CONTROL_BLOCK Kcb) |
| VOID NTAPI | EnlistKeyBodyWithKCB (IN PCM_KEY_BODY KeyObject, IN ULONG Flags) |
| VOID NTAPI | DelistKeyBodyFromKCB (IN PCM_KEY_BODY KeyBody, IN BOOLEAN LockHeld) |
| NTSTATUS NTAPI | CmpFreeKeyByCell (IN PHHIVE Hive, IN HCELL_INDEX Cell, IN BOOLEAN Unlink) |
| VOID NTAPI | CmpAcquireTwoKcbLocksExclusiveByKey (IN ULONG ConvKey1, IN ULONG ConvKey2) |
| VOID NTAPI | CmpReleaseTwoKcbLockByKey (IN ULONG ConvKey1, IN ULONG ConvKey2) |
| VOID NTAPI | CmpFlushNotifiesOnKeyBodyList (IN PCM_KEY_CONTROL_BLOCK Kcb, IN BOOLEAN LockHeld) |
| LONG NTAPI | CmpCompareCompressedName (IN PCUNICODE_STRING SearchName, IN PWCHAR CompressedName, IN ULONG NameLength) |
| USHORT NTAPI | CmpNameSize (IN PHHIVE Hive, IN PUNICODE_STRING Name) |
| USHORT NTAPI | CmpCompressedNameSize (IN PWCHAR Name, IN ULONG Length) |
| VOID NTAPI | CmpCopyCompressedName (IN PWCHAR Destination, IN ULONG DestinationLength, IN PWCHAR Source, IN ULONG SourceLength) |
| USHORT NTAPI | CmpCopyName (IN PHHIVE Hive, IN PWCHAR Destination, IN PUNICODE_STRING Source) |
| BOOLEAN NTAPI | CmpFindNameInList (IN PHHIVE Hive, IN PCHILD_LIST ChildList, IN PUNICODE_STRING Name, IN PULONG ChildIndex, IN PHCELL_INDEX CellIndex) |
| BOOLEAN NTAPI | CmpGetNextName (IN OUT PUNICODE_STRING RemainingName, OUT PUNICODE_STRING NextName, OUT PBOOLEAN LastName) |
| BOOLEAN NTAPI | CmpDoFlushAll (IN BOOLEAN ForceFlush) |
| VOID NTAPI | CmpShutdownWorkers (VOID) |
| VOID NTAPI | CmpCmdInit (IN BOOLEAN SetupBoot) |
| NTSTATUS NTAPI | CmpCmdHiveOpen (IN POBJECT_ATTRIBUTES FileAttributes, IN PSECURITY_CLIENT_CONTEXT ImpersonationContext, IN OUT PBOOLEAN Allocate, OUT PCMHIVE *NewHive, IN ULONG CheckFlags) |
| VOID NTAPI | CmpLazyFlush (VOID) |
| NTSTATUS NTAPI | CmpDoCreate (IN PHHIVE Hive, IN HCELL_INDEX Cell, IN PACCESS_STATE AccessState, IN PUNICODE_STRING Name, IN KPROCESSOR_MODE AccessMode, IN PCM_PARSE_CONTEXT Context, IN PCM_KEY_CONTROL_BLOCK ParentKcb, OUT PVOID *Object) |
| NTSTATUS NTAPI | CmpCreateLinkNode (IN PHHIVE Hive, IN HCELL_INDEX Cell, IN PACCESS_STATE AccessState, IN UNICODE_STRING Name, IN KPROCESSOR_MODE AccessMode, IN ULONG CreateOptions, IN PCM_PARSE_CONTEXT Context, IN PCM_KEY_CONTROL_BLOCK ParentKcb, OUT PVOID *Object) |
| HCELL_INDEX NTAPI | CmpFindSubKeyByName (IN PHHIVE Hive, IN PCM_KEY_NODE Parent, IN PCUNICODE_STRING SearchName) |
| HCELL_INDEX NTAPI | CmpFindSubKeyByNumber (IN PHHIVE Hive, IN PCM_KEY_NODE Node, IN ULONG Number) |
| ULONG NTAPI | CmpComputeHashKey (IN ULONG Hash, IN PCUNICODE_STRING Name, IN BOOLEAN AllowSeparators) |
| BOOLEAN NTAPI | CmpAddSubKey (IN PHHIVE Hive, IN HCELL_INDEX Parent, IN HCELL_INDEX Child) |
| BOOLEAN NTAPI | CmpRemoveSubKey (IN PHHIVE Hive, IN HCELL_INDEX ParentKey, IN HCELL_INDEX TargetKey) |
| BOOLEAN NTAPI | CmpMarkIndexDirty (IN PHHIVE Hive, HCELL_INDEX ParentKey, HCELL_INDEX TargetKey) |
| HCELL_INDEX NTAPI | CmpFindValueByName (IN PHHIVE Hive, IN PCM_KEY_NODE KeyNode, IN PUNICODE_STRING Name) |
| PCELL_DATA NTAPI | CmpValueToData (IN PHHIVE Hive, IN PCM_KEY_VALUE Value, OUT PULONG Length) |
| NTSTATUS NTAPI | CmpSetValueDataNew (IN PHHIVE Hive, IN PVOID Data, IN ULONG DataSize, IN ULONG StorageType, IN HCELL_INDEX ValueCell, OUT PHCELL_INDEX DataCell) |
| NTSTATUS NTAPI | CmpAddValueToList (IN PHHIVE Hive, IN HCELL_INDEX ValueCell, IN ULONG Index, IN ULONG Type, IN OUT PCHILD_LIST ChildList) |
| BOOLEAN NTAPI | CmpFreeValue (IN PHHIVE Hive, IN HCELL_INDEX Cell) |
| BOOLEAN NTAPI | CmpMarkValueDataDirty (IN PHHIVE Hive, IN PCM_KEY_VALUE Value) |
| BOOLEAN NTAPI | CmpFreeValueData (IN PHHIVE Hive, IN HCELL_INDEX DataCell, IN ULONG DataLength) |
| NTSTATUS NTAPI | CmpRemoveValueFromList (IN PHHIVE Hive, IN ULONG Index, IN OUT PCHILD_LIST ChildList) |
| BOOLEAN NTAPI | CmpGetValueData (IN PHHIVE Hive, IN PCM_KEY_VALUE Value, IN PULONG Length, OUT PVOID *Buffer, OUT PBOOLEAN BufferAllocated, OUT PHCELL_INDEX CellToRelease) |
| HCELL_INDEX NTAPI | CmpFindControlSet (IN PHHIVE SystemHive, IN HCELL_INDEX RootCell, IN PUNICODE_STRING SelectKeyName, OUT PBOOLEAN AutoSelect) |
| VOID NTAPI | CmGetSystemControlValues (IN PVOID SystemHiveData, IN PCM_SYSTEM_CONTROL_VECTOR ControlVector) |
| NTSTATUS NTAPI | CmpInitializeRegistryNode (IN PCONFIGURATION_COMPONENT_DATA CurrentEntry, IN HANDLE NodeHandle, OUT PHANDLE NewHandle, IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PUSHORT DeviceIndexTable) |
| NTSTATUS NTAPI | CmpInitializeMachineDependentConfiguration (IN PLOADER_PARAMETER_BLOCK LoaderBlock) |
| NTSTATUS NTAPI | CmpInitializeHardwareConfiguration (IN PLOADER_PARAMETER_BLOCK LoaderBlock) |
| NTSTATUS NTAPI | CmpCreateEvent (IN EVENT_TYPE EventType, OUT PHANDLE EventHandle, OUT PKEVENT *Event) |
| PVOID NTAPI | CmpAllocate (IN SIZE_T Size, IN BOOLEAN Paged, IN ULONG Tag) |
| VOID NTAPI | CmpFree (IN PVOID Ptr, IN ULONG Quota) |
| BOOLEAN NTAPI | CmpFileRead (IN PHHIVE RegistryHive, IN ULONG FileType, IN OUT PULONG FileOffset, OUT PVOID Buffer, IN SIZE_T BufferLength) |
| BOOLEAN NTAPI | CmpFileWrite (IN PHHIVE RegistryHive, IN ULONG FileType, IN OUT PULONG FileOffset, IN PVOID Buffer, IN SIZE_T BufferLength) |
| BOOLEAN NTAPI | CmpFileSetSize (IN PHHIVE RegistryHive, IN ULONG FileType, IN ULONG FileSize, IN ULONG OldFileSize) |
| BOOLEAN NTAPI | CmpFileFlush (IN PHHIVE RegistryHive, IN ULONG FileType, IN OUT PLARGE_INTEGER FileOffset, IN ULONG Length) |
| NTSTATUS NTAPI | CmEnumerateValueKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN ULONG Index, IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, IN PVOID KeyValueInformation, IN ULONG Length, IN PULONG ResultLength) |
| NTSTATUS NTAPI | CmSetValueKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN PUNICODE_STRING ValueName, IN ULONG Type, IN PVOID Data, IN ULONG DataSize) |
| NTSTATUS NTAPI | CmQueryKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN KEY_INFORMATION_CLASS KeyInformationClass, IN PVOID KeyInformation, IN ULONG Length, IN PULONG ResultLength) |
| NTSTATUS NTAPI | CmEnumerateKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN ULONG Index, IN KEY_INFORMATION_CLASS KeyInformationClass, IN PVOID KeyInformation, IN ULONG Length, IN PULONG ResultLength) |
| NTSTATUS NTAPI | CmDeleteKey (IN PCM_KEY_BODY KeyBody) |
| NTSTATUS NTAPI | CmFlushKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN BOOLEAN EclusiveLock) |
| NTSTATUS NTAPI | CmDeleteValueKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN UNICODE_STRING ValueName) |
| NTSTATUS NTAPI | CmQueryValueKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN UNICODE_STRING ValueName, IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, IN PVOID KeyValueInformation, IN ULONG Length, IN PULONG ResultLength) |
| NTSTATUS NTAPI | CmLoadKey (IN POBJECT_ATTRIBUTES TargetKey, IN POBJECT_ATTRIBUTES SourceFile, IN ULONG Flags, IN PCM_KEY_BODY KeyBody) |
| NTSTATUS NTAPI | CmUnloadKey (IN PCM_KEY_CONTROL_BLOCK Kcb, IN ULONG Flags) |
| ULONG NTAPI | CmCountOpenSubKeys (IN PCM_KEY_CONTROL_BLOCK RootKcb, IN BOOLEAN RemoveEmptyCacheEntries) |
| BOOLEAN NTAPI | CmInitSystem1 (VOID) |
| VOID NTAPI | CmShutdownSystem (VOID) |
| VOID NTAPI | CmSetLazyFlushState (IN BOOLEAN Enable) |
| VOID NTAPI | CmpSetVersionData (VOID) |
| PUNICODE_STRING *NTAPI | CmGetSystemDriverList (VOID) |
| BOOLEAN NTAPI | CmpFindDrivers (IN PHHIVE Hive, IN HCELL_INDEX ControlSet, IN SERVICE_LOAD_TYPE LoadType, IN PWSTR BootFileSystem OPTIONAL, IN PLIST_ENTRY DriverListHead) |
| BOOLEAN NTAPI | CmpSortDriverList (IN PHHIVE Hive, IN HCELL_INDEX ControlSet, IN PLIST_ENTRY DriverListHead) |
| BOOLEAN NTAPI | CmpResolveDriverDependencies (IN PLIST_ENTRY DriverListHead) |
| BOOLEAN NTAPI | CmpIsSafe (IN PHHIVE Hive, IN HCELL_INDEX SafeBootCell, IN HCELL_INDEX DriverCell) |
Variables |
| ULONG | CmpTraceLevel |
| BOOLEAN | CmpSpecialBootCondition |
| BOOLEAN | CmpFlushOnLockRelease |
| BOOLEAN | CmpShareSystemHives |
| BOOLEAN | CmpMiniNTBoot |
| EX_PUSH_LOCK | CmpHiveListHeadLock |
| EX_PUSH_LOCK | CmpLoadHiveLock |
| LIST_ENTRY | CmpHiveListHead |
| POBJECT_TYPE | CmpKeyObjectType |
| ERESOURCE | CmpRegistryLock |
| PCM_KEY_HASH_TABLE_ENTRY | CmpCacheTable |
| PCM_NAME_HASH_TABLE_ENTRY | CmpNameCacheTable |
| KGUARDED_MUTEX | CmpDelayedCloseTableLock |
| CMHIVE | CmControlHive |
| WCHAR | CmDefaultLanguageId [] |
| ULONG | CmDefaultLanguageIdLength |
| ULONG | CmDefaultLanguageIdType |
| WCHAR | CmInstallUILanguageId [] |
| ULONG | CmInstallUILanguageIdLength |
| ULONG | CmInstallUILanguageIdType |
| ULONG | CmNtGlobalFlag |
| LANGID | PsInstallUILanguageId |
| LANGID | PsDefaultUILanguageId |
| CM_SYSTEM_CONTROL_VECTOR | CmControlVector [] |
| ULONG | CmpConfigurationAreaSize |
| PCM_FULL_RESOURCE_DESCRIPTOR | CmpConfigurationData |
| UNICODE_STRING | CmTypeName [] |
| UNICODE_STRING | CmClassName [] |
| CMP_MF_TYPE | CmpMultifunctionTypes [] |
| USHORT | CmpUnknownBusCount |
| ULONG | CmpTypeCount [MaximumType+1] |
| HIVE_LIST_ENTRY | CmpMachineHiveList [] |
| UNICODE_STRING | CmSymbolicLinkValueName |
| UNICODE_STRING | CmpSystemStartOptions |
| UNICODE_STRING | CmpLoadOptions |
| BOOLEAN | CmSelfHeal |
| BOOLEAN | CmpSelfHeal |
| ULONG | CmpBootType |
| HANDLE | CmpRegistryRootHandle |
| BOOLEAN | ExpInTextModeSetup |
| BOOLEAN | InitIsWinPEMode |
| ULONG | CmpHashTableSize |
| ULONG | CmpDelayedCloseSize |
| ULONG | CmpDelayedCloseIndex |
| BOOLEAN | CmpNoWrite |
| BOOLEAN | CmpForceForceFlush |
| BOOLEAN | CmpWasSetupBoot |
| BOOLEAN | CmpProfileLoaded |
| PCMHIVE | CmiVolatileHive |
| LIST_ENTRY | CmiKeyObjectListHead |
| BOOLEAN | CmpHoldLazyFlush |