SHELL_Event

include shell.inc

VxDcall SHELL_Event


The SHELL_Event service posts an event in the Windows shell to WINOLDAPP.

Parameters

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. For more information about the callback procedure, see the following “Comments” section.

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

Uses

EAX, Flags