Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This method is an object-based method that provides the ability to filter or reject incoming calls (or call backs) to an object or a process.

This method is called prior to each method invocation originating outside the current process.

Syntax

DWORD HandleInComingCall(
  DWORD 
dwCallType,
  HTASK 
threadIDCaller,
  DWORD 
dwTickCount,
  LPINTERFACEINFO 
lpInterfaceInfo 
);

Parameters

dwCallType

[in] Kind of incoming call that has been received.

Valid values are from the enumeration CALLTYPE.

threadIDCaller

[in] Handle of the task calling this task.

dwTickCount

[in] Elapsed tick count since the outgoing call was made if dwCallTypeis not CALLTYPE_TOPLEVEL.

If dwCallTypeis CALLTYPE_TOPLEVEL, dwTickCountshould be ignored.

lpInterfaceInfo

[in] Pointer to an INTERFACEINFOstructure, which identifies the object, the interface, and the method making the call.

In the case of DDE calls, lpInterfaceInfocan be NULL because the DDE layer does not return interface information.

Return Value

SERVERCALL_ISHANDLED

The application might be able to process the call.

SERVERCALL_REJECTED

The application cannot handle the call due to an unforeseen problem, such as network unavailability, or if it is in the process of terminating.

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.

Remarks

If implemented, IMessageFilter::HandleInComingCallis called by COM when an incoming COM message is received.

Depending on an application's current state, a call is either accepted and processed or rejected (permanently or temporarily).

If SERVERCALL_ISHANDLED is returned, the application may be able to process the call, though success depends on the interface for which the call is destined.

If the call cannot be processed, COM returns RPC_E_CALL_REJECTED.

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

IMessageFilter::HandleInComingCallshould 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::HandleInComingCallto set up the application's state so the call can be processed in the future.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also