en:docs:fapi:vioregister

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
en:docs:fapi:vioregister [2021/09/11 06:58] prokusheven:docs:fapi:vioregister [2021/09/11 07:57] prokushev
Line 47: Line 47:
  
   * FunctionMask2 (ULONG) - input : A bit mask where each bit identifies a video function being registered. The bit mask has the format shown below. The first word pushed onto the stack contains the high order 16 bits of the function mask, and the second word contains the low order 16 bits. Unused bits are reserved and must be set to zero.   * FunctionMask2 (ULONG) - input : A bit mask where each bit identifies a video function being registered. The bit mask has the format shown below. The first word pushed onto the stack contains the high order 16 bits of the function mask, and the second word contains the low order 16 bits. Unused bits are reserved and must be set to zero.
-:{| + 
-!Bit||Description +Bit Description ^ 
-|- +|31-9|Reserved, set to zero| 
-|31-9||Reserved, set to zero +|8|VioSetState| 
-|- +|7|VioGetState| 
-|8||VioSetState +|6|VioSetFont| 
-|- +|5|VioGetCp| 
-|7||VioGetState +|4|VioSetCp| 
-|- +|3|VioGetConfig| 
-|6||VioSetFont +|2|VioGetFont| 
-|- +|1|VioModeUndo| 
-|5||VioGetCp +|0|VioModeWait|
-|- +
-|4||VioSetCp +
-|- +
-|3||VioGetConfig  +
-|- +
-|2||VioGetFont +
-|- +
-|1||VioModeUndo  +
-|- +
-|0||VioModeWait +
-|}+
  
 ==Return Code== ==Return Code==
Line 103: Line 92:
  
 The index numbers that correspond to the registered functions are listed below: The index numbers that correspond to the registered functions are listed below:
-<PRE> + 
-  0 VioGetPhysBuf +^ Index ^ Function ^ 
-  1 VioGetBuf +VioGetPhysBuf| 
-  2 VioShowBuf +VioGetBuf| 
-  3 VioGetCurPos +VioShowBuf| 
-  4 VioGetCurType +VioGetCurPos| 
-  5 VioGetMode +VioGetCurType| 
-  6 VioSetCurPos +VioGetMode| 
-  7 VioSetCurType +VioSetCurPos| 
-  8 VioSetMode +VioSetCurType| 
-  9 VioReadCharStr +VioSetMode| 
- 10 VioReadCellStr +VioReadCharStr| 
- 11 VioWrtNChar +10 VioReadCellStr| 
- 12 VioWrtNAttr +11 VioWrtNChar| 
- 13 VioWrtNCell +12 VioWrtNAttr| 
- 14 VioWrtCharStr +13 VioWrtNCell| 
- 15 VioWrtCharStrAtt +14 VioWrtCharStr| 
- 16 VioWrtCellStr +15 VioWrtCharStrAtt| 
- 17 VioWrtTTY +16 VioWrtCellStr| 
- 18 VioScrollUp +17 VioWrtTTY| 
- 19 VioScrollDn +18 VioScrollUp| 
- 20 VioScrollLf  +19 VioScrollDn| 
- 21 VioScrollRt +20 VioScrollLf| 
- 22 VioSetAnsi +21 VioScrollRt| 
- 23 VioGetAnsi +22 VioSetAnsi| 
- 24 VioPrtSc +23 VioGetAnsi| 
- 25 VioScrLock +24 VioPrtSc| 
- 26 VioScrUnLock +25 VioScrLock| 
- 27 VioSavRedrawWait +26 VioScrUnLock| 
- 28 VioSavRedrawUndo +27 VioSavRedrawWait| 
- 29 VioPopUp +28 VioSavRedrawUndo| 
- 30 VioEndPopUp +29 VioPopUp| 
- 31 VioPrtScToggle +30 VioEndPopUp| 
- 32 VioModeWait +31 VioPrtScToggle| 
- 33 VioModeUndo +32 VioModeWait| 
- 34 VioGetFont +33 VioModeUndo| 
- 35 VioGetConfig +34 VioGetFont| 
- 36 VioSetCp +35 VioGetConfig| 
- 37 VioGetCp +36 VioSetCp| 
- 38 VioSetFont +37 VioGetCp| 
- 39 VioGetState +38 VioSetFont| 
- 40 VioSetState +39 VioGetState| 
-</PRE>+40 VioSetState| 
 When a registered function returns to the video router, the return code is interpreted as follows: When a registered function returns to the video router, the return code is interpreted as follows:
   * Return code = 0 : No error. Do not invoke the corresponding Base Video Subsystem routine. Return to caller with Return code = 0.   * Return code = 0 : No error. Do not invoke the corresponding Base Video Subsystem routine. Return to caller with Return code = 0.
   * Return code = -1 : No error. Invoke the corresponding Base Video Subsystem routine. Return to caller with Return code = return code from Base Video Subsystem.   * Return code = -1 : No error. Invoke the corresponding Base Video Subsystem routine. Return to caller with Return code = return code from Base Video Subsystem.
   * Return code = error (not 0 or -1) : Do not invoke the corresponding Base Video Subsystem routine. Return to caller with Return code = error.   * Return code = error (not 0 or -1) : Do not invoke the corresponding Base Video Subsystem routine. Return to caller with Return code = error.
-When an application registers a replacement for [[VioPopUp]] within a session, the registered routine is only invoked when that session is in the foreground. If ''VioPopUp'' is issued when that session is in the background, the OS/2 default routine is invoked.+When an application registers a replacement for [[VioPopUp]] within a session, the registered routine is only invoked when that session is in the foreground. If [[VioPopUp]] is issued when that session is in the background, the OS/2 default routine is invoked.
  
 An alternate video subsystem should be designed so the routines registered do not cause any hard errors when they are invoked. Otherwise, a system lockout occurs. Code and data segments of registered routines, that might be loaded from diskette, must be preloaded. An alternate video subsystem should be designed so the routines registered do not cause any hard errors when they are invoked. Otherwise, a system lockout occurs. Code and data segments of registered routines, that might be loaded from diskette, must be preloaded.