{{page>en:templates:fapiint}}
====== 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)]]
{{page>en:templates:fapi}}