typedef struct _SECTION_IMAGE_INFORMATION
{
    void *TransferAddress;
    unsigned long ZeroBits;
    unsigned __int64 MaximumStackSize;
    unsigned __int64 CommittedStackSize;
    unsigned long SubSystemType;
    union
    {
        struct
        {
            unsigned short SubSystemMinorVersion;
            unsigned short SubSystemMajorVersion;
        };
        unsigned long SubSystemVersion;
    };
    unsigned long GpValue;
    unsigned short ImageCharacteristics;
    unsigned short DllCharacteristics;
    unsigned short Machine;
    unsigned char ImageContainsCode;
    union
    {
        unsigned char ImageFlags;
        struct
        {
            unsigned char ComPlusNativeReady : 1;
            unsigned char ComPlusILOnly : 1;
            unsigned char ImageDynamicallyRelocated : 1;
            unsigned char ImageMappedFlat : 1;
            unsigned char Reserved : 4;
        };
    };
    unsigned long LoaderFlags;
    unsigned long ImageFileSize;
    unsigned long CheckSum;
} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION;