GreSetHandle

From EDM2
Jump to: navigation, search

GreSetHandle stores a handle or variable in the device context.

This function is supported by the graphics engine.

Syntax

GreSetHandle(hdc, hHandle, iIndex, pInstance, lFunction);

Parameters

hdc (HDC) - input
Device context handle.
hHandle (ULONG) - input
Handle to be associated with hdc.
iIndex (ULONG) - input
Index value of the handle in the range 0-3.
For a normal device context, this is a reserved parameter.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreSetHandle.

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_HDC_BUSY
  • PMERR_INV_HDC
Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.

Remarks

Up to four handles can be stored in a DC at one time. The presentation driver can only use this function for device contexts that it has created for its own use with GreOpenDC.

Sample Code

#define INCL_GRE_DCS
#include <os2.h>

HDC      hdc;        /*  Device context handle. */
ULONG    hHandle;    /*  Handle to be associated with hdc. */
ULONG    iIndex;     /*  Index value of the handle in the range 0-3. */
PVOID    pInstance;  /*  Pointer to instance data. */
ULONG    lFunction;  /*  High-order WORD=flags; low-order WORD=NGreSetHandle. */
BOOL     fSuccess;   /*  Return codes. */

fSuccess = GreSetHandle(hdc, hHandle, iIndex,
             pInstance, lFunction);