3.4.3 Busy and Unavailable Server Applications

A server application may be busy or unavailable for several reasons. For example, it may be busy printing, it may be waiting for user input to a modeless error message, or it may have been accidentally deleted from the workstation. If the server is not available, the client application should display the warning message shown in Figure 20. The recommended time between the first request and displaying the dialog box is two to three seconds.

Figure 20. Server application busy warning message

Three different cases can cause the warning message in Figure 20 to be displayed: Busy, Blocked, and OLE_BUSY. The following table describes the behavior of the buttons in each case.

Server State Caused By If "Switch To.." Button Pushed If "Cancel" Button Pushed

Busy Client receives OLE_QUERY_RETRY callback notification Invokes Task Manager The OLE operation is discontinued. The dialog is dismissed.
Blocked Client timed out before getting OLE_RELEASE Invokes Task Manager The OLE operation will continue. The dialog is dismissed.
OLE_BUSY OLE libraries returned OLE_BUSY from an API call Invokes Task Manager The previous OLE operation will continue. The dialog is dismissed.