typedef struct _CM_KEY_CONTROL_BLOCK               // 47 elements, 0xA0 bytes (sizeof)
          {
/*0x000*/     ULONG32      RefCount;
              struct                                         // 7 elements, 0x4 bytes (sizeof)
              {
/*0x004*/         ULONG32      ExtFlags : 16;                // 0 BitPosition
/*0x004*/         ULONG32      PrivateAlloc : 1;             // 16 BitPosition
/*0x004*/         ULONG32      Delete : 1;                   // 17 BitPosition
/*0x004*/         ULONG32      HiveUnloaded : 1;             // 18 BitPosition
/*0x004*/         ULONG32      Decommissioned : 1;           // 19 BitPosition
/*0x004*/         ULONG32      LockTablePresent : 1;         // 20 BitPosition
/*0x004*/         ULONG32      TotalLevels : 10;             // 21 BitPosition
              };
              struct                                         // 3 elements, 0x4 bytes (sizeof)
              {
/*0x008*/         ULONG32      DelayedDeref : 1;             // 0 BitPosition
/*0x008*/         ULONG32      DelayedClose : 1;             // 1 BitPosition
/*0x008*/         ULONG32      Parking : 1;                  // 2 BitPosition
              };
              union                                          // 2 elements, 0x10 bytes (sizeof)
              {
/*0x00C*/         struct _CM_KEY_HASH KeyHash;               // 4 elements, 0x10 bytes (sizeof)
                  struct                                     // 4 elements, 0x10 bytes (sizeof)
                  {
/*0x00C*/             ULONG32      ConvKey;
/*0x010*/             struct _CM_KEY_HASH* NextHash;
/*0x014*/             struct _HHIVE* KeyHive;
/*0x018*/             ULONG32      KeyCell;
                  };
              };
/*0x01C*/     struct _EX_PUSH_LOCK KcbPushlock;              // 7 elements, 0x4 bytes (sizeof)
              union                                          // 2 elements, 0x4 bytes (sizeof)
              {
/*0x020*/         struct _KTHREAD* Owner;
/*0x020*/         LONG32       SharedCount;
              };
/*0x024*/     ULONG32      SlotHint;
/*0x028*/     struct _CM_KEY_CONTROL_BLOCK* ParentKcb;
/*0x02C*/     struct _CM_NAME_CONTROL_BLOCK* NameBlock;
/*0x030*/     struct _CM_KEY_SECURITY_CACHE* CachedSecurity;
/*0x034*/     struct _CACHED_CHILD_LIST ValueCache;          // 3 elements, 0x8 bytes (sizeof)
              union                                          // 3 elements, 0x4 bytes (sizeof)
              {
/*0x03C*/         struct _CM_INDEX_HINT_BLOCK* IndexHint;
/*0x03C*/         ULONG32      HashKey;
/*0x03C*/         ULONG32      SubKeyCount;
              };
              union                                          // 2 elements, 0x8 bytes (sizeof)
              {
/*0x040*/         struct _LIST_ENTRY KeyBodyListHead;        // 2 elements, 0x8 bytes (sizeof)
/*0x040*/         struct _LIST_ENTRY FreeListEntry;          // 2 elements, 0x8 bytes (sizeof)
              };
/*0x048*/     struct _CM_KEY_BODY* KeyBodyArray[4];
/*0x058*/     union _LARGE_INTEGER KcbLastWriteTime;         // 4 elements, 0x8 bytes (sizeof)
/*0x060*/     UINT16       KcbMaxNameLen;
/*0x062*/     UINT16       KcbMaxValueNameLen;
/*0x064*/     ULONG32      KcbMaxValueDataLen;
              struct                                         // 4 elements, 0x4 bytes (sizeof)
              {
/*0x068*/         ULONG32      KcbUserFlags : 4;             // 0 BitPosition
/*0x068*/         ULONG32      KcbVirtControlFlags : 4;      // 4 BitPosition
/*0x068*/         ULONG32      KcbDebug : 8;                 // 8 BitPosition
/*0x068*/         ULONG32      Flags : 16;                   // 16 BitPosition
              };
/*0x06C*/     struct _LIST_ENTRY KCBUoWListHead;             // 2 elements, 0x8 bytes (sizeof)
              union                                          // 2 elements, 0x8 bytes (sizeof)
              {
/*0x074*/         struct _LIST_ENTRY DelayQueueEntry;        // 2 elements, 0x8 bytes (sizeof)
/*0x074*/         UINT8*       Stolen;
              };
/*0x07C*/     struct _CM_TRANS* TransKCBOwner;
/*0x080*/     struct _CM_INTENT_LOCK KCBLock;                // 2 elements, 0x8 bytes (sizeof)
/*0x088*/     struct _CM_INTENT_LOCK KeyLock;                // 2 elements, 0x8 bytes (sizeof)
/*0x090*/     struct _CHILD_LIST TransValueCache;            // 2 elements, 0x8 bytes (sizeof)
/*0x098*/     struct _CM_TRANS* TransValueListOwner;
/*0x09C*/     struct _UNICODE_STRING* FullKCBName;
          }CM_KEY_CONTROL_BLOCK, *PCM_KEY_CONTROL_BLOCK;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.