次の方法で共有


呼び出しを閉じるための着信要求

リモート クライアントが呼び出しを閉じると、ローカル 通話マネージャーまたは MCM ドライバーは、ローカル クライアントへのこの受信要求を示す必要があります。 このような要求を示すために、呼び出しマネージャーは、 CloseStatus を NDIS_STATUS_SUCCESS に設定して NdisCmDispatchIncomingCloseCall を呼び出します (次の図を参照)。

Diagram illustrating an incoming request to close a call through a call manager.

MCM ドライバーは、 NdisMCmDispatchIncomingCloseCall を呼び出して、呼び出しを閉じる受信要求を示します (次の図を参照)。

Diagram illustrating an incoming request to close a call through an MCM driver.

通話マネージャーまたは MCM ドライバーは、 Ndis(M)CmDispatchIncomingCloseCall を呼び出すこともできます。

  • コール マネージャーまたは MCM ドライバーによって以前に示された着信コールに応答して、コネクション型クライアントがコール パラメータの許容できない変更を要求していると判断した場合は、 ProtocolCmIncomingCallComplete 関数を実行します。 (通話パラメータ変更要求の受信を参照)。

  • 異常なネットワーク状態が原因で、呼び出しマネージャーがアクティブな呼び出しを強制的に破棄する場合。

Ndis(M)CmDispatchIncomingCloseCall を呼び出すと、NDIS はその接続で接続指向クライアントの ProtocolClIncomingCloseCall 関数を呼び出します。 ProtocolClIncomingCloseCall は、独自のクライアントまたは接続が切断されていることをクライアントに通知するなど、プロトコルによって決定された操作を実行する必要があります。 閉じる呼び出しがクライアントによって作成されたマルチポイント VC である場合、 ProtocolClIncomingCloseCall は、VC 上の単一のパーティが再メインするまで NdisClDropParty を 1 回以上呼び出す必要があります (マルチポイント呼び出しからのパーティーの削除を参照)。

ProtocolClIncomingCloseCall を呼び出す 必要があります NdisClCloseCall (VC がクライアントによって作成されたマルチポイント VC の場合は、VC の最後のパーティへのハンドルを持つ) クライアントは、この特定の VC のデータの送信または受信を試みないことを確認します。 呼び出しマネージャーまたは MCM ドライバーがこの VC を作成した場合、ProtocolClIncomingCloseCallNdisClCloseCall を呼び出した後に制御を返す必要があります。 呼び出しマネージャーまたは MCM ドライバーも VC を非アクティブ化する必要があります (VC の非アクティブ化を参照)。

クライアントが最初に発信呼び出し用にこの VC を作成し、 CloseStatus がNDIS_STATUS_SUCCESS場合、 ProtocolClIncomingCloseCall は必要に応じて NdisCoDeleteVc(VC の削除を参照) で VC を破棄するか、別の呼び出しのために VC を再利用できます。 CloseStatus がNDIS_STATUS_SUCCESSされていない場合、 ProtocolClIncomingCloseCallNdisCoDeleteVcを呼び出す必要があります。

コールマネージャまたはMCMドライバが元々着信のためにこのVCを作成した場合、コールマネージャまたはMCMドライバは、それぞれ NdisCoDeleteVc または NdisMCmDeleteVc を呼び出すことにより、オプションで VCを削除 することができる。