hdc (HDC) - input
hbm (HBITMAP) - input
If 0, the DC bit map is used.
lScanStart (LONG) - input
0 is the first scan line number.
cScanCount (LONG) - input
pBitmap (PBYTE) - input
Pointer to the pel data of the bit map. This data is stored in the order that the coordinates appear on a display screen, that is, the pel in the lower-left corner is the first in the bit map. Pels are scanned to the right, and upward, from that position. The bits of the first pel are stored beginning with the most significant bits of the first byte. The data for pels in each scan line is packed together tightly. However, all scan lines are padded at the end so that each one begins on a ULONG boundary. That is, three bytes of pel data will hold one 24-bit pel, three 8-bit pels, six 4-bit pels, or twenty-four 1-bit pels. If those three bytes are the only pel data for that scan line, one more byte of 0s would be required to pad the line to a ULONG boundary.
pInfo (PBITMAPINFO) - input
Pointer to either a BITMAPINFO structure:
cbFix
cbFix
BCA_UNCOMP
For standard formats with a cBitCount of 1, 4, or 8 (and cPlanes=1), any indexes beyond cclrUsed are not valid. For example, a bit map with 64 colors can use the 8-bitcount format without having to supply the other 192 entries in the color table. For the 24-bitcount standard format, cclrUsed is the number of colors used by the bit map.
BRU_METRIC
BRA_BOTTOMUP
BRH_NOTHALFTONED
If the BRH_PANDA or BRH_SUPERCIRCLE is specified, cSize1 is the X-dimension of the pattern used in pels.
BCE_RGB
bBlue
pInstance (PVOID) - input
lFunction (ULONG) - input
rc (LONG) - returns
On completion, the handling routine must return a LONG value (lLines), indicating the number of lines transferred, or GPI_ALTERROR if an error occurred.
Possible Errors Detected: When an error is detected, the handling routine must call WinSetErrorInfo to post the condition. Error codes for conditions that the handling routine is expected to check include:
PMERR_BITMAP_NOT_SELECTED PMERR_DEV_FUNC_NOT_INSTALLED
PMERR_INCORRECT_DC_TYPE
PMERR_INV_HBITMAP
PMERR_INV_IN_AREA
PMERR_INV_IN_PATH
PMERR_INV_INFO_TABLE
PMERR_INV_LENGTH_OR_COUNT
PMERR_INV_SCAN_START