typedef struct _CMHIVE { HHIVE Hive; void *FileHandles[6]; LIST_ENTRY NotifyList; LIST_ENTRY HiveList; LIST_ENTRY PreloadedHiveList; EX_RUNDOWN_REF HiveRundown; LIST_ENTRY ParseCacheEntries; CM_KEY_HASH_TABLE_ENTRY *KcbCacheTable; unsigned long KcbCacheTableSize; unsigned long Identity; FAST_MUTEX *HiveLock; EX_PUSH_LOCK ViewLock; KTHREAD *ViewLockOwner; unsigned long ViewLockLast; unsigned long ViewUnLockLast; FAST_MUTEX *WriterLock; ERESOURCE *FlusherLock; RTL_BITMAP FlushDirtyVector; CMP_OFFSET_ARRAY *FlushOffsetArray; unsigned long FlushOffsetArrayCount; unsigned long FlushHiveTruncated; FAST_MUTEX *FlushLock2; EX_PUSH_LOCK SecurityLock; LIST_ENTRY MappedViewList; LIST_ENTRY PinnedViewList; LIST_ENTRY FlushedViewList; unsigned short MappedViewCount; unsigned short PinnedViewCount; unsigned long UseCount; unsigned long ViewsPerHive; FILE_OBJECT *FileObject; unsigned long LastShrinkHiveSize; LARGE_INTEGER ActualFileSize; UNICODE_STRING FileFullPath; UNICODE_STRING FileUserName; UNICODE_STRING HiveRootPath; unsigned long SecurityCount; unsigned long SecurityCacheSize; long SecurityHitHint; CM_KEY_SECURITY_CACHE_ENTRY *SecurityCache; LIST_ENTRY SecurityHash[64]; unsigned long UnloadEventCount; KEVENT **UnloadEventArray; CM_KEY_CONTROL_BLOCK *RootKcb; unsigned char Frozen; CM_WORKITEM *UnloadWorkItem; CM_WORKITEM UnloadWorkItemHolder; unsigned char GrowOnlyMode; unsigned long GrowOffset; LIST_ENTRY KcbConvertListHead; LIST_ENTRY KnodeConvertListHead; CM_CELL_REMAP_BLOCK *CellRemapArray; unsigned long Flags; LIST_ENTRY TrustClassEntry; unsigned long FlushCount; CM_RM *CmRm; unsigned long CmRmInitFailPoint; long CmRmInitFailStatus; KTHREAD *CreatorOwner; KTHREAD *RundownThread; LARGE_INTEGER LastWriteTime; } CMHIVE, *PCMHIVE;