typedef struct _CM_KEY_NODE
{
    unsigned short Signature;
    unsigned short Flags;
    LARGE_INTEGER LastWriteTime;
    unsigned long Spare;
    unsigned long Parent;
    unsigned long SubKeyCounts[2];
    union
    {
        struct
        {
            unsigned long SubKeyLists[2];
            CHILD_LIST ValueList;
        };
        CM_KEY_REFERENCE ChildHiveReference;
    };
    unsigned long Security;
    unsigned long Class;
    unsigned long MaxNameLen : 16;
    unsigned long UserFlags : 4;
    unsigned long VirtControlFlags : 4;
    unsigned long Debug : 8;
    unsigned long MaxClassLen;
    unsigned long MaxValueNameLen;
    unsigned long MaxValueDataLen;
    unsigned long WorkVar;
    unsigned short NameLength;
    unsigned short ClassLength;
    wchar_t Name[1];
} CM_KEY_NODE, *PCM_KEY_NODE;