HP-UX SNAplus2 R7 LUA Programmer's Guide
Designing and Writing LUA Applications
Issuing an LUA Verb
• The lParam argument contains the address of the VCB that was supplied to the original WinSLI call; the
application can use this address to access the returned parameters in the VCB structure.
• The wParam argument is undefined.
Synchronous and Asynchronous Verb Completion
Sometimes LUA is able to complete all the processing for a verb as soon as it is issued. When this happens,
the verb returns synchronously; the primary return code is set to a value other than
LUA_IN_PROGRESS, and the
lua_flag2.async bit is set to 0 (zero). (For information about these returned parameters, see Chapter 5, SLI Verbs.)
To enable the verb to return asynchronously, the application supplies a window handle to the LUA entry point. If
the verb completes synchronously, LUA does not use this window handle. If the verb completes asynchronously,
LUA indicates the verb completion by posting a message to this window handle; the message includes a pointer to
the original VCB.
It is not possible for an application to predict whether a particular verb will complete synchronously or
asynchronously.
Verbs can be issued from a callback, but they will not always complete asynchronously. Such verbs may be returned
synchronously if they fail from within the library. The application should not reissue the failed verb from within
the callback.
If the user repeatedly issues SLI_OPENs in parallel from the callback context, the SLI_OPENs will eventually fail
with a memory error. However, if verbs are issued from the application thread, allowing the availability of all the
system memory, more attempts will complete successfully.
2.2.10 WinSLICleanup
The application uses this function to unregister as a Windows SLI user, after it has finished issuing SLI verbs.
Function Call
BOOL WINAPI WinSLICleanup (void);
Supplied Parameters
There are no supplied parameters for this function.
Returned Values
The return value from the function is one of the following:
TRUE
The application was unregistered successfully.
FALSE
An error occurred during processing of the call, and the application was not unregistered. Check the log files
for messages indicating the cause of the failure.
2.3 Issuing an LUA Verb
The steps required to issue an LUA verb are as follows. The examples indicate the use of the RUI_INIT verb.
1. Include the LUA header file in the application’s source code.
41