Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
SHELL_Event
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include shell.inc
 
VxDcall SHELL_Event
 
The SHELL_Event service posts an event in the Windows shell to VMDOSAPP.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
EBX        Specifies the virtual machine Handle for the event.
 
ECX        Specifies the event number.
 
AX         Specifies the wParam parameter for the event. The high 16 bits
           specify the special boost flags.
 
ESI        Points to the callback procedure for the event. If this parameter
           is zero, no callback procedure is called. See the Comments
           section for more information about this procedure.
 
EDX        Points to reference data for the event callback procedure.
 
Return Value
 
The carry flag is clear if the event is placed in the queue. The EAX
register contains the handle of the event but only if the ESI parameter is
nonzero.
 
The carry flag is set to indicate an error such as the VMDOSAPP is not
present or insufficient memory for placement.
 
Comments
 
The system calls the callback procedure with the following input
parameters:
 
EDX     ; points to reference data
EBP     ; points to a VMDOSAPP Client_Reg_Struc frame
 
If the carry flag is clear on entry, the event was processed and the EBP
register points to a Client_Reg_Struc structure containing the register
values after the event returned. If the carry flag is set, the event could
not be placed in the queue and only the EDX register contains valid data.
 
In both case, the EBX register does not contain a virtual machine handle.
 
Uses
 
EAX, Flags
 
                                      ♦