次の方法で共有


NdisMCmDeactivateVc 関数 (ndis.h)

NdisMCmDeactivateVc は、特定のアクティブな VC にそれ以上転送がないことを NDIS に通知します。

構文

NDIS_STATUS NdisMCmDeactivateVc(
  [in] NDIS_HANDLE NdisVcHandle
);

パラメーター

[in] NdisVcHandle

VC を識別するハンドルを指定します。 このハンドルは、着信呼び出しに対して NdisMCmCreateVc 呼び出されたとき、またはその ProtocolCoCreateVc 関数がクライアントによって開始された発信呼び出しの VC を設定するときに、NDIS によって MCM ドライバーに提供されました。

戻り値

NdisMCmDeactivateVc は、次のいずれかを返すことができます。

リターン コード 形容
NDIS_STATUS_SUCCESS
NDIS は VC を非アクティブとしてマークしました。
NDIS_STATUS_NOT_ACCEPTED
VC は既に非アクティブ化されているため、この呼び出しは冗長です。

備考

MCM ドライバーは、NdisMCmDeactivateVc 呼び出しを閉じるのに不可欠な手順として呼び出します。通常は、接続を切断するネットワーク コンポーネントとのパケット交換の後です。

NdisMCmDeactivateVc 正常に呼び出されると、MCM ドライバーは VC での転送の現在の呼び出しパラメーターを破棄し、ミニポート ドライバーによって決定された既定値に再初期化することができます。 ただし、VC が別の呼び出しのために後で再アクティブ化された場合、クライアントはミニポート ドライバーに新しい呼び出しパラメーターを提供します。

NdisMCmDeactivateVc に渡された NdisVcHandle は、VC の非アクティブ化が完了した後も有効なままです。 VC を非アクティブ化すると、その作成者は VC を再利用または破棄するために再初期化できます。

  • VC の非アクティブ化と呼び出しの終了後、クライアントは最初に作成した VC を再利用して、NdisClMakeCallを使用して別の呼び出しを行うか、NdisCoDeleteVc 呼び出すことができます。これにより、MCM ドライバーの protocolCoDeleteVc 関数への呼び出しが発生します。
  • VC 非アクティブ化と呼び出しの終了後、MCM ドライバーは、最初に作成した VC を再利用して、同じクライアントへの別の着信呼び出しを示すことができます。NdisMCmDispatchIncomingCall するか、NdisMCmDeleteVc 呼び出すことができます。
ドライバー ライターは、MCM ドライバーが送信および着信呼び出しの接続を破棄するコンテキストでドライバーが呼び出す (内部) ミニポートCoDeactivateVc 関数を持っているかどうかを判断します。

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisMCmDeactivateVc (NDIS 5.1) を参照) でサポートされています。 Windows XP で NDIS 5.1 ドライバー (NdisMCmDeactivateVc (NDIS 5.1) を参照) でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_MCM_Function(ndis)

関連項目

ミニポートCoDeactivateVc

NdisClCloseCall

NdisClMakeCall

NdisCmDeactivateVc

NdisMCmActivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmCloseCall

ProtocolCoDeleteVc