GreRestoreRegion

GreRestoreRegion is called during RestoreDC and CloseDC to allow the region handling routines to restore their local data structures. When a DC is closed, GreRestoreRegion is called with a count of 0 to free its local data. The clip region currently selected into the DC is deleted by this function.

This function can be hooked by the presentation driver.


 * Simulation support: This function is simulated by a handling routine in the graphics engine.

Syntax
GreRestoreRegion(hdc, cSave, pInstance, lFunction);

Parameters

 * hdc (HDC) - input
 * Device context handle.


 * cSave (LONG) - input
 * DC save level.


 * Indicates the saved DC state, which the handling routine uses to restore the region. When this is passed as -1, the handling routine resets the region to its initial state (-1 is passed to this routine from GreResetDC and is the only valid negative value). A value of 0 indicates that the region is restored to its initial state. Other positive values identify which saved level is restored. See RestoreDCState.


 * pInstance (PVOID) - input
 * Pointer to instance data.


 * lFunction (ULONG) - input
 * High-order WORD=flags; low-order WORD=NGreRestoreRegion.

Return Code

 * fSuccess (BOOL) - returns
 * Return codes.


 * This function returns BOOLEAN (fSuccess).


 * TRUE Successful
 * FALSE Error


 * 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_DEV_FUNC_NOT_INSTALLED
 * PMERR_HDC_BUSY
 * PMERR_INSUFFICIENT_MEMORY
 * PMERR_INV_COORDINATE
 * PMERR_INV_HDC
 * PMERR_INV_HRGN
 * PMERR_INV_RECT
 * PMERR_INV_REGION_CONTROL


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

Remarks
This function is required to ensure that memory is freed.

Declaration

 * 1) define INCL_GRE_CLIP
 * 2) include 

HDC     hdc;        /*  Device context handle. */ LONG    cSave;      /*  DC save level. */ PVOID   pInstance;  /*  Pointer to instance data. */ ULONG   lFunction;  /*  High-order WORD=flags; low-order WORD=NGreRestoreRegion. */ BOOL    fSuccess;   /*  Return codes. */

fSuccess = GreRestoreRegion(hdc, cSave, pInstance, lFunction); 