typedef struct tagGDIINFO { short int dpVersion; short int dpTechnology; short int dpHorzSize; short int dpVertSize; short int dpHorzRes; short int dpVertRes; short int dpBitsPixel; short int dpPlanes; short int dpNumBrushes; short int dpNumPens; short int futureuse; short int dpNumFonts; short int dpNumColors; unsigned short int dpDEVICEsize; unsigned short int dpCurves; unsigned short int dpLines; unsigned short int dpPolygonals unsigned short int dpText; unsigned short int dpClip; unsigned short int dpRaster; short int dpAspectX; short int dpAspectY; short int dpAspectXY; short int dpStyleLen; POINT dpMLoWin; POINT dpMLoVpt; POINT dpMHiWin; POINT dpMHiVpt; POINT dpELoWin; POINT dpELoVpt; POINT dpEHiWin; POINT dpEHiVpt; POINT dpTwpWin; POINT dpTwpVpt; short int dpLogPixelsX; short int dpLogPixelsY; short int dpDCManage; short int dpCaps1; long int dpSpotSizeX; long int dpSpotSizeY; short int dpPalColors; short int dpPalReserved; short int dpPalResolution; } GDIINFO;
typedef struct tagPBITMAP { short bmType; short bmWidth; short bmHeight; short bmWidthBytes; BYTE bmPlanes; BYTE bmBitsPixel; long bmBits; long bmWidthPlanes; long bmlpPDevice; short bmSegmentIndex; short bmScanSegment; short bmFillBytes; short reserved1; short reserved2; } PBITMAP;