次の方法で共有


NdisCmActivateVc 関数 (ndis.h)

NdisCmActivateVc は、特定の VC の CM 提供の呼び出しパラメーター (メディア パラメーターを含む) を基になるミニポート ドライバーに渡します。

構文

NDIS_STATUS NdisCmActivateVc(
  [in]      NDIS_HANDLE         NdisVcHandle,
  [in, out] PCO_CALL_PARAMETERS CallParameters
);

パラメーター

[in] NdisVcHandle

呼び出しパラメーターを設定する VC を識別するハンドルを指定します。 呼び出しマネージャーは、着信呼び出しの NdisCoCreateVc からこのハンドルを取得するか、クライアントによって開始される発信呼び出しの ProtocolCoCreateVc 関数への入力パラメーターとして取得します。

[in, out] CallParameters

基になるミニポート ドライバーが VC のアクティブ化に使用するすべてのメディア固有のパラメーターを含む、 CO_CALL_PARAMETERS型の構造体として書式設定された CM 割り当て常駐バッファーへのポインター。

戻り値

NdisCmActivateVc がNDIS_STATUS_PENDING以外のものを返す場合、呼び出しマネージャーは、 ProtocolCmActivateVcComplete 関数。 それ以外の場合、NDIS は、この操作が完了したときに CM の ProtocolCmActivateVcComplete 関数を呼び出します。

注釈

NdisCmActivateVc は、新しく作成された VC の呼び出しとメディア パラメーターを設定するか、確立された VC のそれらを変更するように、基になるミニポート ドライバーに通知します。 NDIS は、指定された呼び出しパラメーターと VC ハンドルを基になるミニポート ドライバーの MiniportCoActivateVc 関数に転送します。この関数は、VC の状態を追跡するために必要なすべてのリソースを設定し、それ自体と NIC を VC 上のデータ転送に対応させます。

スタンドアロン CM は、VC で接続を確立した後、その VC でデータが送受信される前に、常に NdisCmActivateVc を呼び出します。 接続の間、CM はネットワーク変更の条件やクライアントが NdisClModifyCallQoS を呼び出すたびに、同じ NdisVcHandle を使用して NdisCmActivateVc を何度も呼び出すことができます。 NdisCmActivateVc のこのような呼び出しごとに、基になるミニポート ドライバーの MiniportCoActivateVc 関数は、次のいずれかの操作を行う必要があります。

  • ミニポート ドライバーが新しく変更された呼び出しパラメーターに従って VC で転送を続行できる場合は、ミニポート ドライバーが呼び出しマネージャーによって提供される新しい値への呼び出しパラメーターについて維持する状態を更新します。
  • ミニポート ドライバーが指定された呼び出しパラメーターの制約の下で転送を続行できない場合は、呼び出しに失敗します。
基になるミニポート ドライバーが呼び出しパラメーターを設定またはリセットする要求に失敗した場合、呼び出しマネージャーは CallParameters で元の仕様を変更し、 NdisCmActivateVc をもう一度呼び出す可能性があります。 呼び出しマネージャーが VC のアクティブ化を繰り返し試行する回数の制限は、実装に依存します。

クライアントによって開始される発信呼び出しの場合、スタンドアロン CM は通常、NdisCmMakeCallComplete で送信呼び出しの完了を NDIS (およびクライアント) に通知する前に、呼び出しのリモート ターゲットとのネゴシエートされた契約またはスイッチでの正常な呼び出しセットアップを確認するパケット交換の直後に NdisCmActivateVc を呼び出します。 着信呼び出しの場合、呼び出しマネージャーは通常、 NdisCoCreateVc を 正常に呼び出した後、呼び出す前に NdisCmActivateVc を 呼び出します NdisCmDispatchIncomingCall

発信呼び出しを設定するプロセスで、VC のアクティブ化が維持されている間に、クライアントは 、たとえば NdisClModifyCallQos を呼び出すことによって、その VC の呼び出しパラメーターの変更を要求できます。 このような要求に対して指定された呼び出しパラメーターの有効性を確認した後、スタンドアロン呼び出しマネージャーは NdisCmActivateVc を呼び出して、変更された呼び出しパラメーターを基になるミニポート ドライバーに渡す必要があります。

NdisCmActivateVc を呼び出すことができるのは、スタンドアロンの呼び出しマネージャーのみです。このマネージャーは、NDIS をプロトコル ドライバーとして登録します。 統合された呼び出し管理サポートを提供する接続指向ミニポート ドライバーは、代わりに NdisMCmActivateVc を呼び出します。

要件

要件
サポートされている最小のクライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (「NdisCmActivateVc (NDIS 5.1)」を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (「NdisCmActivateVc (NDIS 5.1)」を参照) でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 Irql_CallManager_Function(ndis)

こちらもご覧ください

CO_CALL_PARAMETERS

MiniportCoActivateVc

NdisClMakeCall

NdisClModifyCallQos

NdisCmDeactivateVc

NdisCmDispatchIncomingCall

NdisCoCreateVc

NdisMCmActivateVc

ProtocolCmActivateVcComplete

ProtocolCoCreateVc