VioModeUndo

Allows one thread within a process to cancel a VioModeWait issued by another thread within the same process.

Syntax
VioModeUndo(OwnerIndic, KillIndic, Reserved)

Parameters

 * OwnerIndic (ULONG) - input: Ownership indicator.
 * Indicates whether the thread issuing VioModeUndo wants ownership of VioModeWait to be reserved for its process.
 * 0 - Reserve ownership
 * 1 - Give up ownership.


 * KillIndic (ULONG) - input: Terminate indicator
 * Indicates whether the thread (with the outstanding VioModeWait) should return an error code or be terminated.
 * 0 - Return error code.
 * 1 - Terminate thread.


 * Reserved (ULONG) - input: Reserved. Must be 0.

Return Code

 * rc (APIRET) - returns:VioModeUndo returns one of the following values:
 * 0 NO_ERROR
 * 421 ERROR_VIO_INVALID_PARMS
 * 422 ERROR_VIO_FUNCTION_OWNED
 * 427 ERROR_VIO_NO_MODE_THREAD
 * 430 ERROR_VIO_ILLEGAL_DURING_POPUP
 * 486 ERROR_VIO_BAD_RESERVE

Remarks
VioModeUndo can be issued only by a thread within the process that owns VioModeWait. The thread issuing VioModeUndo can either reserve ownership of the VioModeWait call for its process or give up ownership. The thread whose VioModeWait is canceled is optionally terminated.