SHELL_Message

include shell.inc

VxDcall SHELL_Message


The SHELL_Message service displays a message box using the Windows shell.

Parameters

EBX

Specifies the handle of the virtual machine responsible for the message.

EAX

Specifies the message box flags. See the MB_ symbols in the SHELL.INC file.

ECX

Points to null-terminated string containing the message text.

EDI

Points to null-terminated string containing the caption text. If this parameter is zero, the service uses the standard caption. If this parameter points to an empty string, the message box has no caption.

ESI

Points to the callback procedure to process the user's response when the message box returns. If this parameter is zero, no callback procedure is called.

EDX

Specifies reference data to pass to the callback procedure.

Return Value

The carry flag is clear, and the EAX register contains the handle for the event if the service is successful. Otherwise, the carry flag is set to indicate an error such as insufficient memory to display the message.

Comments

The system calls the callback procedure after the user closes the message box. The callback receives the following input parameters:

EAX ; response code from the message box

EDX ; points to reference data

The response code in the EAX register is one of the ID symbols defined in the SHELL.INC file.

The EBX register may or may not contain the current virtual machine handle when the callback is called. The callback must not rely on its value.

If this service returns an error, a virtual device can use the SHELL_SYSMODAL_Message service to force the system to display a message.

Uses

EAX, Flags