次の方法で共有


マルチポイント呼び出しへのパーティーの追加

クライアントは、NdisClAddParty を使用してマルチポイント呼び出しにパーティーを追加するように要求します。 クライアントは、既存のマルチポイント呼び出し (クライアントが NdisClMakeCallProtocolPartyContext を指定した呼び出し)にのみパーティを追加できます (「呼び出しの作成」を参照)。

次の図は、マルチポイント呼び出しにパーティーを追加するよう要求する Call Manager のクライアントを示しています。

Diagram showing a client of a call manager requesting to add a party to a multipoint call.

次の図は、マルチポイント呼び出しにパーティーを追加することを要求する MCM ドライバーのクライアントを示しています。

Diagram depicting a client of an MCM driver requesting to add a party to a multipoint call.

NdisClAddParty を呼び出す 前に、クライアントは、追加するパーティのコンテキスト領域を割り当てて初期化する必要があります。 クライアントは通常、ProtocolPartyContext などのコンテキスト領域へのポインターを渡し、NdisClAddParty を呼び出すときに NdisPartyHandle パラメーターとしてそのコンテキスト領域内の変数へのポインターを渡します。

NdisVcHandleProtocolPartyContext に加えて、クライアントは呼び出しパラメーター (バッファー CO_CALL_PARAMETERS 構造体) を NdisClAddParty に渡します。 基になるネットワーク メディアは、クライアントがマルチポイント VC でパーティごとのトラフィック パラメーターを指定できるかどうかを決定します。

NdisClAddParty への呼び出しを行うと、NDIS はこの要求を ProtocolCmAddParty 関数 (クライアントが特定のNdisVcHandle を共有する Call Manager か MCM ドライバー) に転送することになります。 NDIS は、ProtocolCmAddParty に次を渡します。

  • 呼び出しの VC を示す CallMgrVcContext

  • クライアントが NdisClAddParty に渡す呼び出しパラメーターを含む CO_CALL_PARAMETERS 構造体へのポインター。

  • 追加するパーティを識別する NdisPartyHandle

ProtocolCmAddParty は、 呼び出しに追加されるパーティーに必要な動的リソースを割り当てて初期化します。 ProtocolCmAddParty から、Call Manager または MCM ドライバーは、必要に応じて、ネットワーク制御デバイスまたはその他のメディア固有のエージェントと通信して、指定されたパーティーをマルチポイント呼び出しに追加します。

クライアントが、マルチポイント VC に対してすでに確立されているものと一致しない呼び出しパラメーターで渡した場合、Call Manager または MCM ドライバーは、以下を実行できます。

  • 基になるネットワーク メディアが、マルチポイント VC でこの機能をサポートしている場合、パーティごとのトラフィック パラメーターを設定します。

  • クライアントが指定したトラフィック パラメーターを、VC 用に最初に確立されたものにリセットします。

  • VC とその上で現在接続されているすべてのパーティの呼び出しパラメーターを変更します。

  • クライアントがパーティーを追加しようとして失敗します。

ProtocolCmAddParty は、Call Manager の場合は NdisCmAddPartyComplete、MCM ドライバーの場合は NdisMCmAddPartyComplete を使用して同期的、または非同期的に完了できます。 Call Manager または MCM ドライバーが同期的または非同期的に動作を完了するかどうかによって、NDIS にバッファー内の呼び出しパラメーターを渡します。

Ndis(M)CmAddPartyComplete を呼び出すと、NDIS はクライアントの ProtocolClAddPartyComplete 関数を呼び出します。 クライアントのパーティの追加要求が成功し、シグナリング プロトコルによって Call Manager または MCM ドライバーが呼び出しパラメーターを変更できる場合、ProtocolClAddPartyComplete はバッファー内の CO_CALL_PARAMETERS 構造体の CALL_PARAMETERS_CHANGED フラグをテストして、呼び出しパラメーターが変更されたかどうかを判断する必要があります。 シグナリング プロトコルは、クライアントが受け入れられない CO_CALL_PARAMETERS への変更を検出した場合に実行する動作を決定します。 通常、この場合、クライアントは NdisClDropParty を呼び出します (「マルチポイント呼び出しからのパーティーの削除」を参照)。