typedef struct _CM_KEY_CONTROL_BLOCK               // 38 elements, 0x100 bytes (sizeof)
          {
/*0x000*/     ULONG32      RefCount;
              struct                                         // 5 elements, 0x4 bytes (sizeof)
              {
/*0x004*/         ULONG32      ExtFlags : 8;                 // 0 BitPosition
/*0x004*/         ULONG32      PrivateAlloc : 1;             // 8 BitPosition
/*0x004*/         ULONG32      Delete : 1;                   // 9 BitPosition
/*0x004*/         ULONG32      DelayedCloseIndex : 12;       // 10 BitPosition
/*0x004*/         ULONG32      TotalLevels : 10;             // 22 BitPosition
              };
              union                                          // 2 elements, 0x20 bytes (sizeof)
              {
/*0x008*/         struct _CM_KEY_HASH KeyHash;               // 4 elements, 0x20 bytes (sizeof)
                  struct                                     // 4 elements, 0x20 bytes (sizeof)
                  {
/*0x008*/             ULONG32      ConvKey;
/*0x00C*/             UINT8        _PADDING0_[0x4];
/*0x010*/             struct _CM_KEY_HASH* NextHash;
/*0x018*/             struct _HHIVE* KeyHive;
/*0x020*/             ULONG32      KeyCell;
/*0x024*/             UINT8        _PADDING1_[0x4];
                  };
              };
/*0x028*/     struct _CM_KEY_CONTROL_BLOCK* ParentKcb;
/*0x030*/     struct _CM_NAME_CONTROL_BLOCK* NameBlock;
/*0x038*/     struct _CM_KEY_SECURITY_CACHE* CachedSecurity;
/*0x040*/     struct _CACHED_CHILD_LIST ValueCache;          // 3 elements, 0x10 bytes (sizeof)
              union                                          // 3 elements, 0x8 bytes (sizeof)
              {
/*0x050*/         struct _CM_INDEX_HINT_BLOCK* IndexHint;
/*0x050*/         ULONG32      HashKey;
/*0x050*/         ULONG32      SubKeyCount;
              };
              union                                          // 2 elements, 0x10 bytes (sizeof)
              {
/*0x058*/         struct _LIST_ENTRY KeyBodyListHead;        // 2 elements, 0x10 bytes (sizeof)
/*0x058*/         struct _LIST_ENTRY FreeListEntry;          // 2 elements, 0x10 bytes (sizeof)
              };
/*0x068*/     struct _CM_KEY_BODY* KeyBodyArray[4];
/*0x088*/     VOID*        DelayCloseEntry;
/*0x090*/     union _LARGE_INTEGER KcbLastWriteTime;         // 4 elements, 0x8 bytes (sizeof)
/*0x098*/     UINT16       KcbMaxNameLen;
/*0x09A*/     UINT16       KcbMaxValueNameLen;
/*0x09C*/     ULONG32      KcbMaxValueDataLen;
              struct                                         // 4 elements, 0x4 bytes (sizeof)
              {
/*0x0A0*/         ULONG32      KcbUserFlags : 4;             // 0 BitPosition
/*0x0A0*/         ULONG32      KcbVirtControlFlags : 4;      // 4 BitPosition
/*0x0A0*/         ULONG32      KcbDebug : 8;                 // 8 BitPosition
/*0x0A0*/         ULONG32      Flags : 16;                   // 16 BitPosition
              };
/*0x0A8*/     CHAR*        RealKeyName;
/*0x0B0*/     struct _LIST_ENTRY KCBUoWListHead;             // 2 elements, 0x10 bytes (sizeof)
/*0x0C0*/     struct _CM_TRANS* TransKCBOwner;
/*0x0C8*/     struct _CM_INTENT_LOCK KCBLock;                // 2 elements, 0x10 bytes (sizeof)
/*0x0D8*/     struct _CM_INTENT_LOCK KeyLock;                // 2 elements, 0x10 bytes (sizeof)
/*0x0E8*/     struct _CHILD_LIST TransValueCache;            // 2 elements, 0x8 bytes (sizeof)
/*0x0F0*/     struct _CM_TRANS* TransValueListOwner;
/*0x0F8*/     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.