GrePlayJournalFile

GrePlayJournalFile plays a journal file to the specified DC.

This function is supported by the graphics engine.

Syntax
GrePlayJournalFile(hdc, hJournal, pInstance, lFunction)

Parameters

 * hdc (HDC) - input:Device context handle.
 * hJournal (ULONG) - input:Journal file handle.
 * pInstance (PVOID) - input:Pointer to instance data.
 * lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGrePlayJournalFile.

Return Code

 * fSuccess (BOOL) - returns:Return codes.
 * On completion, the handling routine must return BOOLEAN (fSuccess).
 * TRUE Successful
 * FALSE Error

Possible Errors Detected: When an error is detected, the graphics engine calls WinSetErrorInfo to post the condition. Reasons for failure of this function include:
 * PMERR_BASE_ERROR
 * PMERR_BITMAP_IS_SELECTED
 * PMERR_BITMAP_NOT_SELECTED
 * PMERR_COORDINATE_OVERFLOW
 * PMERR_DEV_FUNC_NOT_INSTALLED
 * PMERR_EXCEEDS_MAX_SEG_LENGTH
 * PMERR_HBITMAP_BUSY
 * PMERR_HDC_BUSY
 * PMERR_HRGN_BUSY
 * PMERR_HUGE_FONTS_NOT_SUPPORTED
 * PMERR_INCORRECT_DC_TYPE
 * PMERR_INSUFFICIENT_MEMORY
 * PMERR_INV_BACKGROUND_COL_ATTR
 * PMERR_INV_BACKGROUND_MIX_ATTR
 * PMERR_INV_BITMAP_DIMENSION
 * PMERR_INV_CHAR_DIRECTION_ATTR
 * PMERR_INV_CHAR_MODE_ATTR
 * PMERR_INV_CODEPAGE
 * PMERR_INV_COLOR_ATTR
 * PMERR_INV_COORD_SPACE
 * PMERR_INV_COORDINATE
 * PMERR_INV_DC_DATA
 * PMERR_INV_DC_TYPE
 * PMERR_INV_DRIVER_NAME
 * PMERR_INV_HBITMAP
 * PMERR_INV_HDC
 * PMERR_INV_HJOURNAL
 * PMERR_INV_HRGN
 * PMERR_INV_ID
 * PMERR_INV_IN_AREA
 * PMERR_INV_IN_PATH
 * PMERR_INV_INFO_TABLE
 * PMERR_INV_LENGTH_OR_COUNT
 * PMERR_INV_LINE_TYPE_ATTR
 * PMERR_INV_METAFILE
 * PMERR_INV_MIX_ATTR
 * PMERR_INV_PATTERN_REF_PT_ATTR
 * PMERR_INV_PATTERN_SET_ATTR
 * PMERR_INV_PATTERN_SET_FONT
 * PMERR_INV_RECT
 * PMERR_INV_REGION_CONTROL
 * PMERR_INV_REGION_MIX_MODE
 * PMERR_INV_SCAN_START
 * PMERR_INV_USAGE_PARM
 * PMERR_JFILE_BUSY
 * PMERR_RAM_JNL_FILE_TOO_SMALL
 * PMERR_REGION_IS_CLIP_REGION

Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.

Remarks
The journal file is read into memory and each journaled call is played. Each journaled record is processed before playing to fix-up data pointers, and create "clone objects," such as regions or bit maps, if necessary, from the journaled data. It is assumed that any single journaled function and associated data fits in a 32KB buffer. If the journaled record contains region rectangles or bit-map bits, they are not considered in this restriction.