Figure 8: Declaring structures to represent the resource data

#pragma pack(push)
#pragma pack(2)
__nogc struct MEMICONDIRENTRY
{
    BYTE  bWidth;
    BYTE  bHeight;
    BYTE  bColorCount;
    BYTE  bReserved;
    WORD  wPlanes;
    WORD  wBitCount;
    DWORD dwBytesInRes;
    WORD  wId;
};
#pragma pack(pop)

#pragma pack(push)
#pragma pack(2)
__nogc struct MEMICONDIR
{
    WORD            wReserved;
    WORD            wType;
    WORD            wCount;
    MEMICONDIRENTRY arEntries[1]; // inline array
};
#pragma pack(pop)
— End of Figure —