Gives the application an opportunity to display a dialog box so the user can retry or cancel the call, or switch to the task identified by threadIDCallee.


HTASK threadIDCallee,
//Server task handle
DWORD dwTickCount,
//Elapsed tick count
DWORD dwRejectType
//Returned rejection message



[in] Specifies the handle of the server task that rejected the call.


[in] Specifies the number of elapsed ticks since the call was made.


[in] Specifies either SERVERCALL_REJECTED or SERVERCALL_RETRYLATER, as returned by the object application.

Return Values


The call should be canceled. OLE then returns RPC_E_CALL_REJECTED from the original method call.

Value >= 0 and <100

The call is to be retried immediately.

Value >= 100

OLE will wait for this many milliseconds and then retry the call.


OLE calls RetryRejectedCall immediately after receiving SERVERCALL_RETRYLATER or SERVERCALL_REJECTED from IMessageFilter::HandleInComingCall.

If an application task rejects a call, the application is probably in a state where it cannot handle such calls, possibly only temporarily. When this occurs, OLE calls IMessageFilter::RetryRejectedCall.

Applications should silently retry calls that have returned with SERVERCALL_RETRYLATER and show a dialog box only after a reasonable amount of time has passed, say about five seconds. The callee may momentarily be in a state where calls can be handled. The option to wait and retry is provided for special kinds of calling applications, such as background tasks executing macros or scripts, so that they can retry the calls in a nonintrusive way.

If, after a dialog box is displayed, the user chooses to cancel, the call will appear to fail with RPC_E_CALL_REJECTED.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database