Windows LUA Asynchronous Support

Asynchronous verb completion returns immediately from issuing an initial verb (before results have been received) so the application can continue with other processes. A program that issues a verb and does not regain control until the operation completes cannot perform any other operations. This synchronous type of operation, called blocking, is not suited to a server application designed to handle multiple requests from many clients.

By design, LUA is asynchronous and uses semaphores for notification messages. Semaphores work well for the Windows NT, Windows 95, and OS/2 systems, and the Windows extensions built into Windows LUA also allow asynchronous support for Windows version 3.x applications in the LUA interface. Windows LUA provides the following functions for issuing the Request Unit Interface (RUI) and Session Level Interface (SLI) verbs:

RUI

SLI

WinRUI

WinSLI

WinRUI and WinSLI provide asynchronous message notification for all Windows-based RUI and SLI verbs, while RUI and SLI provide support for event notification. Windows version 3.x applications use WinRUI and WinSLI for asynchronous message notification.

Asynchronous support allows you to be notified of verb completion based on a window handle. You can register a window handle using the RegisterWindowsMessage function with "WinRUI" or "WinSLI" as the string. You then issue a verb using the WinRUI or WINSLI function and passing a window handle. When the LUA verb conversation completes, a message is posted to the window handle that you passed, notifying you that the verb is complete.

The only other Windows extension functions required for Windows LUA are for initialization (WinRUIStartup or WinSLIStartup) and termination (WinRUICleanup or WinSLICleanup) purposes. Depending on your application, other Windows extensions may be useful, but they are not required. A complete description of all Windows LUA verbs, routines, and extensions is provided in LUA RUI Verbs, LUA SLI Verbs, and Extensions for the Windows Environment.