IMessageFilter::HandleInComingCall

Provides an application with a single entry point for all incoming calls.

DWORD HandleInComingCall(

DWORD dwCallType,
//Type of incoming call
HTASK threadIDCaller,
//Task handle calling this task
DWORD dwTickCount,
//Elapsed tick count
LPINTERFACEINFO lpInterfaceInfo
//Points to INTERFACEINFO structure
);

Parameters

dwCallType

[in] Indicates the kind of incoming call that has been received; valid values are from the enumeration CALLTYPE. See the chapter on enumerations for details.

threadIDCaller

[in] Specifies the handle of the task is calling this task.

dwTickCount

[in] Specifies the elapsed tick count since the outgoing call was made if dwCallType is not CALLTYPE_TOPLEVEL. If dwCallType is CALLTYPE_TOPLEVEL, dwTickCount should be ignored.

lpInterfaceInfo

Points to an INTERFACEINFO structure that contains information about the incoming call. Can also be NULL.

Return Values

SERVERCALL_ISHANDLED

The application may be able to process the call.

SERVERCALL_REJECTED

The application cannot handle the call due to an unforeseen problem, such as network unavailability.

SERVERCALL_RETRYLATER

The application cannot handle the call at this time. For example, an application might return this value when it is in a user-controlled modal state.

Comments

If implemented, IMessageFilter::HandleInComingCall is called when an incoming OLE message is received.

Depending on the application's current state, the call can either be accepted and processed or rejected (permanently or temporarily). If SERVERCALL_ISHANDLED is returned, the application may be able to process the call. Success may depend on the interface for which the call is destined. If the call cannot be processed, OLE returns RPC_E_CALL_REJECTED.

Input-synchronized and asynchronous calls are dispatched even if the application returns SERVERCALL_REJECTED or SERVERCALL_RETRYLATER.

IMessageFilter::HandleInComingCall should not be used to hold off updates to objects during operations such as band printing. For that purpose, use IViewObject::Freeze.

You can also use IMessageFilter::HandleInComingCall to set up the application's state so the call can be processed in the future.

See Also

IViewObject::Freeze, CALLTYPE, INTERFACEINFO

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