[Toc][Index]

VioScrLock


Bindings:  C, MASM 

This call requests ownership of (locks) the physical display buffer. 
 VioScrLock    (WaitFlag, Status, VioHandle) 
 
 WaitFlag (USHORT) - input 
    Indicates whether the process should block until the screen I/O can 
    take place. 
    Value     Definition 
    0         Return if screen I/O not available 
    1         Wait until screen I/O is available. 
 Status (PUCHAR) - output 
    Address of the Indicator of whether the lock is successful, described 
    below. 
    Value     Definition 
    0         Lock successful 
    1         Lock unsuccessful (in the case of no wait). 
              Status is returned only when AX = 0. 
              Status = 1 may be returned only when WaitFlag = 0. 
 VioHandle (HVIO) - input 
    Reserved word of 0s. 
 rc (USHORT) - return 
    Return code descriptions are: 
    0         NO_ERROR 
    366       ERROR_VIO_WAIT_FLAG 
    430       ERROR_VIO_ILLEGAL_DURING_POPUP 
    434       ERROR_VIO_LOCK 
    436       ERROR_VIO_INVALID_HANDLE 
    465       ERROR_VIO_DETACHED 
    494       ERROR_VIO_EXTENDED_SG 
 
 Remarks 
 This function call permits a process to determine if I/O to the physical 
 screen buffer can take place.  This prevents the process from writing to 
 the physical buffer when the process is in the background. Processes must 
 cooperate with the system in coordinating screen accesses. 
 Screen switching is disabled while the screen lock is in place. If a 
 screen switch is suspended by a screen lock, and if the application 
 holding the lock does not issue VioScrUnLock within a system-defined time 
 limit, the screen switch occurs, and the process holding the lock is 
 frozen in the background. A process should yield the screen lock as soon 
 as possible to avoid being frozen when running in the background.  The 
 timeout on the lock does not begin until a screen switch is requested. 
 When the screen lock is in effect and another thread in the same or 
 different process (in the same session) issues VioScrLock, the second 
 thread receives an error code.  VioScrUnLock must be issued by a thread 
 within the same process that issued VioScrLock. 
 
 Family API Considerations 
 Some options operate differently in the DOS mode than in the OS/2 mode. 
  Therefore, the following restriction applies to VioScrLock when coding 
 in the DOS mode: 
 The status always indicates the lock is successful (Return code = 0). 

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