IMessageFilter::HandleInComingCall 方法 (objidl.h)
提供傳入呼叫的單一進入點。
這個方法會在源自目前進程以外的每個方法調用之前呼叫,並提供篩選或拒絕傳入呼叫的能力, (或回呼) 對象或進程。
語法
DWORD HandleInComingCall(
[in] DWORD dwCallType,
[in] HTASK htaskCaller,
[in] DWORD dwTickCount,
[in] LPINTERFACEINFO lpInterfaceInfo
);
參數
[in] dwCallType
已接收的來電類型。 可能的值為來自列舉 CALLTYPE。
[in] htaskCaller
呼叫端的線程標識碼。
[in] dwTickCount
如果 dwCallType 未CALLTYPE_TOPLEVEL,則傳出呼叫之後經過的刻度計數。 如果 dwCallType 是CALLTYPE_TOPLEVEL,則應該忽略 dwTickCount 。
[in] lpInterfaceInfo
INTERFACEINFO 結構的指標,可識別所呼叫的物件、介面和方法。 在 DDE 呼叫的情況下, lpInterfaceInfo 可以是 NULL ,因為 DDE 層不會傳回介面資訊。
傳回值
這個方法可以傳回下列值。
傳回碼 | Description |
---|---|
|
應用程式可能能夠處理呼叫。 |
|
應用程式因無法預期的問題而無法處理呼叫,例如網路無法使用,或是在終止的過程中。 |
|
應用程式目前無法處理呼叫。 當應用程式處於使用者控制的強制回應狀態時,可能會傳回此值。 |
備註
如果實作,當收到傳入 COM 訊息時,COM 會呼叫 HandleInComingCall 。
視應用程式的目前狀態而定,系統會永久或暫時) 接受和處理或拒絕呼叫 (。 如果傳回SERVERCALL_ISHANDLED,則應用程式可能會處理呼叫,雖然成功取決於呼叫的目的地介面。 如果無法處理呼叫,COM 會傳回RPC_E_CALL_REJECTED。
即使應用程式傳回SERVERCALL_REJECTED或SERVERCALL_RETRYLATER,仍會分派輸入同步處理和異步呼叫。
HandleInComingCall 不應該用來在作業期間保留物件的更新,例如頻外列印。 針對該目的,請使用 IViewObject::Freeze。
您也可以使用 HandleInComingCall 來設定應用程式的狀態,以便日後處理呼叫。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | objidl.h |