NdisMCmCreateVc 関数 (ndis.h)

NdisMCmCreateVc は、MCM ドライバーがクライアントに着信呼び出しオファーをディスパッチできる接続エンドポイントを設定します。

構文

NDIS_STATUS NdisMCmCreateVc(
  [in]  NDIS_HANDLE  MiniportAdapterHandle,
  [in]  NDIS_HANDLE  NdisAfHandle,
  [in]  NDIS_HANDLE  MiniportVcContext,
  [out] PNDIS_HANDLE NdisVcHandle
);

パラメーター

[in] MiniportAdapterHandle

NDIS によって提供されるハンドルを、ミニポート InitializeEx に最初に入力することを指定します。

[in] NdisAfHandle

着信呼び出しのターゲットであるクライアントを識別するハンドルを指定します。 MCM ドライバーは、 ProtocolCmOpenAf 関数への入力パラメーターとしてこのハンドルを取得しました。

[in] MiniportVcContext

MCM ドライバーがこの VC の状態を維持する呼び出し元が指定した常駐コンテキスト領域へのハンドルを指定します。 NDIS は、 NdisMCmCreateVc への呼び出しが成功した場合、この VC に関する後続のすべての呼び出しで、このハンドルを MCM ドライバーに渡します。

[out] NdisVcHandle

NdisMCmCreateVc が呼び出される前に NULL に初期化する必要がある呼び出し元から指定された変数へのポインター。 呼び出しが成功すると、この変数は新しく作成された VC の NDIS 指定のハンドルに設定されています。 呼び出し元は、この VC に関する接続指向 NdisXxx 関数の後続の呼び出しに対して、このハンドルを保存する必要があります。

戻り値

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

リターン コード 説明
NDIS_STATUS_SUCCESS
NDIS によって VC が正常に作成されました。
NDIS_STATUS_RESOURCES
NDIS は VC を設定するのに十分なメモリを割り当てませんでした。
NDIS_STATUS_FAILURE
指定された NdisAfHandle が無効です。
NDIS_STATUS_XXX
クライアントは何らかの理由で VC の作成に失敗し、NDIS は ProtocolCoCreateVc 関数によって返されたエラー状態を MCM ドライバーに伝達しました。

注釈

MCM ドライバーは、既に MCM ドライバーに登録されている SAP に送信されたリモート ノードからの接続の受信オファーを表す NdisMCmCreateVc を使用して VC を作成します。

VC の作成プロセスでは、NDIS は NdisVcHandle をクライアントと MCM ドライバーに提供します。 このハンドルは、指定された VC に関する後続の要求が送信されるクライアントとミニポート ドライバーの仮想接続を識別します。 各ドライバーは、この VC ハンドルを不透明な変数として扱う必要があります。このハンドルは、特定の接続指向 NDIS ライブラリ関数の後続の呼び出しで変更されておらず、解釈されません。

通常、 NdisMCmCreateVc の呼び出し元は、返された NdisVcHandleMiniportVcContext の呼び出し元割り当て状態領域に格納します。 NDIS は、MCM ドライバーが VC を作成するたびに、適切なクライアントの ProtocolCoCreateVc 関数に入力パラメーターとして NdisVcHandle を渡します。

MCM ドライバーは、登録されている SAP のいずれかに送信された着信呼び出しのオファーを処理するときに、最初に NdisMCmCreateVc を呼び出す必要があります。 同期操作として、NDIS は NdisMCmCreateVc がコントロールを返す前に、クライアントの ProtocolCoCreateVc 関数を呼び出します。 NdisMCmCreateVc の呼び出しが成功した場合、MCM ドライバーは適切なクライアントへの通知を続行し、NdisVcHandle で返された値を に渡すことができます NdisMCmDispatchIncomingCall

ドライバーライターは、MCM ドライバーが送信および着信呼び出しの接続を設定するコンテキストでドライバーが呼び出す (内部) MiniportCoCreateVc 関数を持っているかどうかを判断します。

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

要件

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

こちらもご覧ください

MiniportCoCreateVc

NdisAllocateFromNPagedLookasideList

NdisClMakeCall

NdisCoCreateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

ProtocolCmRegisterSap

ProtocolCoCreateVc