This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS

Note: This is legacy API call. It is recommended to use 32-bit equivalent

VioSavRedrawUndo

This call allows one thread within a process to cancel a VioSavRedrawWait issued by another thread within the same process.

Syntax

VioSavRedrawUndo (OwnerIndic, KillIndic, VioHandle)

Parameters

OwnerIndic (USHORT) - input: Indicates whether the thread issuing VioSavRedrawUndo wants ownership of VioSavRedrawWait to be reserved for its process.

0 Reserve ownership

1 Give up ownership.

KillIndic (USHORT) - input: Indicates whether the thread with the outstanding VioSavRedrawWait should be returned an error code or be terminated.

0 Return error code

1 Terminate thread.

VioHandle (HVIO) - input : Reserved word of 0s.

Return Code

rc (USHORT) - return

Return code descriptions are:

0 NO_ERROR

421 ERROR_VIO_INVALID_PARMS

422 ERROR_VIO_FUNCTION_OWNED

428 ERROR_VIO_NO_SAVE_RESTORE_THD

430 ERROR_VIO_ILLEGAL_DURING_POPUP

465 ERROR_VIO_DETACHED

494 ERROR_VIO_EXTENDED_SG

Remarks

The issuing thread can reserve ownership of VioSavRedrawWait for its process or give it up. The thread whose VioSavRedrawWait was cancelled is optionally terminated. VioSavRedrawUndo may be issued only by a thread within the same process that owns VioSavRedrawWait.

Bindings

C

#define INCL_VIO USHORT rc = VioSavRedrawUndo(OwnerIndic, KillIndic, VioHandle); USHORT OwnerIndic; /* Ownership indicator */ USHORT KillIndic; /* Terminate indicator */ HVIO VioHandle; /* Video handle */ USHORT rc; /* return code */

MASM

EXTRN VioSavRedrawUndo:FAR INCL_VIO EQU 1 PUSH WORD OwnerIndic ;Ownership indicator PUSH WORD KillIndic ;Terminate indicator PUSH WORD VioHandle ;Video handle CALL VioSavRedrawUndo Returns WORD

Text based on http://www.edm2.com/index.php/VioSavRedrawUndo_(OS/2_1.x)

Family API
DOS	Process Manager	DosBeep DosExit DosSleep DosExecPgm
File Manager	DosChDir DosChgFilePtr DosClose DosDelete DosDupHandle DosMkDir DosMove DosQCurDir DosQCurDisk DosSetFileMode DosOpen DosQFileInfo DosRead DosQFileMode DosQFSInfo DosQVerify DosRmDir DosSelectDisk DosFindClose DosFindFirst DosFindNext DosSetFileInfo DosSetVerify DosWrite DosFileLocks DosSetFHandState DosNewSize DosBufReset DosQFHandState DosSetFSinfo DosShutdown
Memory Manager	DosFreeSeg DosSubAlloc DosSubFree DosSubSet DosAllocHuge DosAllocSeg DosReallocHuge DosReallocSeg DosGetHugeShift DosCreateCSAlias
NLS	DosCaseMap DosGetCtryInfo DosGetDBCSEv DosSetCtryCode DosGetCollate DosGetMessage DosInsMessage DosPutMessage
Date and Time	DosSetDateTime DosGetDateTime
Devices	DosDevConfig DosDevIOCtl DosDevIOCtl2
Signals	DosHoldSignal DosSetSigHandler
Misc	BadDynLink DosGetEnv DosGetMachineMode DosGetVersion DosError DosErrClass DosSetVec
KBD	KbdCharIn KbdFlushBuffer KbdGetStatus KbdSetStatus KbdStringIn KbdPeek
VIO	VioGetBuf VioGetConfig VioGetCurPos VioGetCurType VioGetPhysBuf VioReadCellStr VioReadCharStr VioScrollUp VioScrollDn VioScrollLf VioScrollRt VioScrUnLock VioSetCurPos VioSetCurType VioSetMode VioGetMode VioShowBuf VioWrtCellStr VioWrtCharStr VioWrtCharStrAtt VioWrtNAttr VioWrtNCell VioWrtNChar VioWrtTTY VioScrLock VioPopUp
Tools	BIND
Modules	DOSCALLS.DLL VIOCALLS.DLL KBDCALLS.DLL MSG.DLL
Libraries	API.LIB OS2386.LIB FAPI.LIB DOSCALLS.LIB SUBCALLS.LIB