IMessageFilter::HandleInComingCall メソッド (objidl.h)
着信呼び出しの 1 つのエントリ ポイントを提供します。
このメソッドは、現在のプロセスの外部から発信される各メソッド呼び出しの前に呼び出され、オブジェクトまたはプロセスへの着信呼び出し (またはコールバック) をフィルター処理または拒否する機能を提供します。
構文
DWORD HandleInComingCall(
[in] DWORD dwCallType,
[in] HTASK htaskCaller,
[in] DWORD dwTickCount,
[in] LPINTERFACEINFO lpInterfaceInfo
);
パラメーター
[in] dwCallType
受信した着信呼び出しの種類。 使用できる値は、列挙 CALLTYPE から取得できます。
[in] htaskCaller
呼び出し元のスレッド ID。
[in] dwTickCount
dwCallType がCALLTYPE_TOPLEVELされていない場合に、発信呼び出しが行われた後の経過したティック数。 dwCallType がCALLTYPE_TOPLEVEL場合、dwTickCount は無視する必要があります。
[in] lpInterfaceInfo
呼び出されるオブジェクト、インターフェイス、およびメソッドを識別する INTERFACEINFO 構造体へのポインター。 DDE 呼び出しの場合、DDE レイヤーはインターフェイス情報を返さないため、 lpInterfaceInfo を NULL にすることができます。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
アプリケーションで呼び出しを処理できる場合があります。 |
|
アプリケーションは、ネットワークの利用不可などの予期しない問題、または終了処理中の場合に、呼び出しを処理できません。 |
|
現時点では、アプリケーションは呼び出しを処理できません。 アプリケーションは、ユーザーが制御するモーダル状態の場合に、この値を返す場合があります。 |
注釈
実装されている場合、 HandleInComingCall は、受信 COM メッセージの受信時に COM によって呼び出されます。
アプリケーションの現在の状態に応じて、呼び出しは受け入れられ、処理されるか拒否されます (永続的または一時的)。 SERVERCALL_ISHANDLEDが返された場合、アプリケーションは呼び出しを処理できますが、成功は呼び出しの宛先のインターフェイスによって異なります。 呼び出しを処理できない場合、COM はRPC_E_CALL_REJECTEDを返します。
入力同期呼び出しと非同期呼び出しは、アプリケーションがSERVERCALL_REJECTEDまたはSERVERCALL_RETRYLATERを返した場合でもディスパッチされます。
HandleInComingCall は、バンド印刷などの操作中にオブジェクトの更新を保留するために使用しないでください。 そのためには、 IViewObject::Freeze を使用します。
HandleInComingCall を使用してアプリケーションの状態を設定して、今後呼び出しを処理できるようにすることもできます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | objidl.h |