typedef struct _GENERAL_LOOKASIDE
{
    union
    {
        SLIST_HEADER ListHead;
        SINGLE_LIST_ENTRY SingleListHead;
    };
    unsigned short Depth;
    unsigned short MaximumDepth;
    unsigned long TotalAllocates;
    union
    {
        unsigned long AllocateMisses;
        unsigned long AllocateHits;
    };
    unsigned long TotalFrees;
    union
    {
        unsigned long FreeMisses;
        unsigned long FreeHits;
    };
    POOL_TYPE Type;
    unsigned long Tag;
    unsigned long Size;
    union
    {
        void *(*AllocateEx)(POOL_TYPE, unsigned __int64, unsigned long, LOOKASIDE_LIST_EX *);
        void *(*Allocate)(POOL_TYPE, unsigned __int64, unsigned long);
    };
    union
    {
        void (*FreeEx)(void *, LOOKASIDE_LIST_EX *);
        void (*Free)(void *);
    };
    LIST_ENTRY ListEntry;
    unsigned long LastTotalAllocates;
    union
    {
        unsigned long LastAllocateMisses;
        unsigned long LastAllocateHits;
    };
    unsigned long Future[2];
} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;