[Toc][Index]

VioPopUp


Bindings:  C, MASM 

This call is issued by an application process when it requires a temporary 
screen to display a momentary message to the user. 
 VioPopUp    (Options, VioHandle) 
 
 Options (PUSHORT) - input 
    Address of the bit flags that indicate which options to the 
    application are being selected. 
    Bit       Description 
    15-2      Reserved, set to zero. 
    1         0 = Non-transparent operation.  The video mode is set to 
              text-mode 3, 3*, 3+, 7, or 7+. The highest resolution 
              supported by the primary display adapter configured in the 
              system is selected.  The screen is cleared, and the cursor 
              is positioned in the upper left corner of the display. 
              1 = Transparent operation.  If the video mode of the 
              outgoing foreground session is text (mode 2, 3, 7, or one of 
              the * or + variations of these modes), no mode change 
              occurs.  The screen is not cleared, and the cursor remains 
              in its current position.  If transparent operation is 
              selected, and if the video mode of the outgoing foreground 
              session is not text (or if the outgoing foreground session 
              has a VioSavRedrawWait thread), the pop-up request is 
              refused. A unique error code ERROR_VIO_TRANSPARENT_POPUP is 
              returned in this case. 
              OS/2 is responsible for saving and restoring the physical 
              display buffer of the previous foreground session around a 
              pop-up.  This is true whether transparent or non-transparent 
              operation is selected. 
    0         0 = Return with unique error code ERROR_VIO_EXISTING_POPUP 
              if pop-up is not immediately available. 
              1 = Wait if pop-up is not immediately available. 
 VioHandle (HVIO) - input 
    Reserved words of 0s. 
 rc (USHORT) - return 
    Return code descriptions are: 
    0         NO_ERROR 
    405       ERROR_VIO_NO_POPUP 
    406       ERROR_VIO_EXISTING_POPUP 
    483       ERROR_VIO_TRANSPARENT_POPUP 
 
 Remarks 
 VioPopUp is normally issued by the application when it is running in the 
 background and wishes to immediately display a message to the user 
 without waiting to become the active foreground session. 
 When an application process issues VioPopUp, it should wait for the 
 return from the request.  If the process allows any of its threads to 
 write to the screen before VioPopUp returns a successful return code, the 
 screen output may be directed to the application's normal video buffer 
 rather than to the pop-up screen. If the process allows any of its 
 threads to issue keyboard or mouse calls before VioPopUp returns a 
 successful return code, the input is directed from the application's 
 normal session. Once the process that issued VioPopUp receives a 
 successful return code, video and keyboard calls issued by any of the 
 threads in the pop-up process are directed to the pop-up screen.  This 
 continues until the process issues VioEndPopUp. At that time video and 
 keyboard calls resume being directed to the application's normal video 
 buffer. 
 There may be only one pop-up in existence at any time.  If a process 
 requests a pop-up and a pop-up already exists, the process has the choice 
 of waiting for the prior pop-up to complete or receiving an immediate 
 return with an error code.  The error code indicates that the operation 
 failed due to an existing pop-up having captured the screen. 
 Video pop-ups provide a mechanism for a background application to notify 
 the operator of an abnormal event the operator must take some action. 
  When considering the suitability of using pop-ups in a particular 
 situation, the possible disruptive effect of pop-ups to the operator 
 should be considered.  If the operator were interrupted frequently by 
 pop-ups issued by background applications, the operator would not 
 effectively work with the foreground application. 
 While a video pop-up is in the foreground, the operator cannot use the 
 hot key to switch to another application or to the shell .  Before the 
 operator can switch another application or the shell to the foreground, 
 the pop-up application must issue VioEndPopUp. 
 While a video pop-up is in effect, all video calls from the previous 
 foreground session are blocked until the process that issued VioPopUp 
 issues VioEndPopUp. 
 When VioPopUp is issued, only the process within the session that issued 
 VioPopUp is brought to the foreground.  Assuming the session was already 
 the foreground session, any video calls issued by other processes in that 
 session are blocked until the process that issued VioPopUp issues 
 VioEndPopUp. 
 DosExecPgm may not be issued by a process during a pop-up. The following 
 video calls are the only calls that may be issued during the pop-up by 
 the process that issued VioPopUp: 
 VioEndPopUp         VioScrollLf 
 VioGetConfig        VioSetCurPos 
 VioGetCp            VioSetCurType 
 VioGetFont          VioSetCp 
 VioGetAnsi          VioSetFont 
 VioGetState         VioSetState 
 VioGetCurPos        VioWrtNChar 
 VioGetCurType       VioWrtNAttr 
 VioGetMode          VioWrtNCell 
 VioReadCharStr      VioWrtCharStr 
 VioReadCellStr      VioWrtCharStrAtt 
 VioScrollRt         VioWrtCellStr 
 VioScrollUp         VioWrtTTY 
 VioScrollDn           
 
 Selectors to the physical display buffer that the issuing process 
 obtained on a prior VioGetPhysBuf call may not be used during the pop-up. 
 
 When an application registers a replacement for VioPopUp within a 
 session, the registered routine is invoked only 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. If the application's 
 session is using a keyboard or mouse monitor, the monitor does not 
 intercept data while the pop-up is active. 
 
 PM Considerations 
 This function can be used from within a PM application.  Kbdxxx, Mouxxx, 
 and Vioxxx calls (with a zero handle) are all allowed between VioPopUp 
 and VioEndPopUp, and are directed to the pop-up screen.  An error is 
 returned if issued with a non-zero handle. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs