#define INCL_DOSPROCESS USHORT rc = DosExitList(FcnCode_Order, RtnAddress); USHORT FcnCode_Order; /* Function request code/Order */ PFNEXITLIST RtnAddress; /* Address of routine */ USHORT rc; /* return code */
Example
In this example, TestRoutine is added to the exitlist sequence. Routines in the exitlist sequence must use DosExitList instead of DosExit to end.
#define INCL_DOSPROCESS #define INCL_VIO #define ROUTINE_ORDER 0xEE00 #define VIO_HANDLE 0 USHORT rc; VOID APIENTRY TestRoutine2() { USHORT r; VioWrtTTY("This runs last...\n", /* String to be written */ 18, /* Length of string */ VIO_HANDLE); /* Video handle */ r = DosExitList(EXLST_EXIT, /* Function request code/order */ (PFNEXITLIST) TestRoutine2); /* Address of routine */ } main() { rc = DosExitList(EXLST_ADD | ROUTINE_ORDER, /* Function request code/order */ (PFNEXITLIST) TestRoutine2); /* Address of routine */ }