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.