次の方法で共有


呼び出しを閉じるためのクライアントが開始した要求

クライアントが複数のパーティーがまだ接続されているマルチポイント呼び出しを閉じる場合は、最初に NdisClDropParty を必要な回数呼び出して、通話から最後のパーティー以外のすべてを削除する必要があります (「Multipoint 通話からのパーティーの削除」を参照)。

クライアントは、NdisClCloseCall を使用して呼び出しの終了を開始します。 次の図は、Call Manager を介して呼び出しの終了を開始するクライアントを示しています。

diagram illustrating a client initiating the closing of a call through a call manager.

次の図は、MCM ドライバーを介して呼び出しの終了を開始するクライアントを示しています。

diagram illustrating a client initiating the closing of a call through an mcm driver.

接続指向クライアントは、通常、次のいずれかの状況で NdisClCloseCall を呼び出します。

NdisClCloseCall に対するクライアントの呼び出しにより、NDIS は呼び出しマネージャーまたは MCM ドライバーの ProtocolCmCloseCall 関数を呼び出します。 ProtocolCmCloseCall は、ローカル ノードとリモート ノード間の接続を終了するために、ネットワーク制御デバイスと通信する必要があります。

ProtocolCmCloseCall に明示的な CallMgrPartyContext が渡された場合、終了される呼び出しはマルチポイント呼び出しです。 Call Manager または MCM ドライバーは、マルチポイント呼び出しとしての呼び出しを終了するために、メディアの種類に応じて、そのネットワーク ハードウェアとの必要なネットワーク通信を実行する必要があります。

NDIS は、ProtocolCmCloseCallNdisClClose への呼び出しでクライアントによって提供されるデータを含むバッファーへのポインターを渡すことができます。 このデータには、呼び出しが閉じられた理由を示す診断データや、シグナリング プロトコルで必要なその他のデータを指定できます。 ProtocolCmCloseCall は、呼び出しの終了を完了する前に、ネットワーク経由でそのようなデータを送信する必要があります。 接続の終了と同時にデータを送信することがサポートされていない場合は、Call Manager または MCM ドライバーが NDIS_STATUS_INVALID_DATA を返す必要があります。

ProtocolCmDropParty は、Call Manager の場合は NdisCmDropPartyComplete、MCM ドライバーの場合は NdisMCmDropPartyComplete を使用して同期的に、あるいは高い確率で非同期的に完了できます。 Ndis(M)CmCloseCallComplete への呼び出しにより、NDIS はクライアントの ProtocolClCloseCallComplete 関数を呼び出します。

Call Manager または MCM ドライバーは、それぞれNdisCmDeactivateVc または NdisMCmDeactivateVcを呼び出すことによって、呼び出しに使用される VC の非アクティブ化を開始する必要があります (「VC の非アクティブ化」を参照してください)。 VC (クライアント、Call Manager、または MCM ドライバー) の作成者は、必要に応じて VC の削除を開始できます (「VC の削除」を参照)。