SHELL_Event

include shell.inc
mov ebx, Handle                  ; virtual machine handle
mov ecx, Event                   ; event number
mov ax, wParam                   ; word parameter for event
mov esi, OFFSET32 Callback       ; address of event callback proc
mov edx, OFFSET32 ReferenceData  ; reference data for the callback
VxDcall SHELL_Event

jc  error
mov [EventHandle], eax           ; event handle only if callback is used
 

Posts an event in the Windows shell to WINOLDAPP. Uses EAX and Flags.

Handle
Virtual machine handle for the event.
Event
Event number.
wParam
16-bit parameter value for the event. The high 16 bits specify the special boost flags.
Callback
Address of the callback procedure for the event. If this parameter is zero, no callback procedure is called. For more information about the callback procedure, see the comments section.
ReferenceData
Address of reference data for the event callback procedure.

The system calls the callback procedure with the following input parameters:

mov edx, ReferenceData    ; points to reference data
mov ebp, ClientReg        ; points to a WINOLDAPP Client_Reg_Struc frame
call [Callback]
 

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 cases, the EBX register does not contain a virtual machine handle.