NdisMCmDispatchIncomingCloseCall マクロ (ndis.h)

NdisMCmDispatchIncomingCloseCall は、通常、MCM ドライバーが接続を閉じる要求をネットワークから受信したため、アクティブまたは提供された呼び出しを破棄するようにクライアントに指示します。

構文

void NdisMCmDispatchIncomingCloseCall(
   _S_,
   _H_,
   _B_,
   _Z_
);

パラメーター

_S_

切断要求の理由を示す、呼び出し元によって決定されたNDIS_STATUS_XXX を指定します。 通常のネットワーク操作中に、MCM ドライバーは、アクティブな呼び出しを終了するためにリモート パーティによって開始された要求を受信したことを示すNDIS_STATUS_SUCCESSを渡します。

_H_

切断される呼び出しの VC へのハンドルを指定します。 このハンドルは、 NdisMCmCreateVc を持つ MCM ドライバーによって、または ProtocolCoCreateVc 関数への入力パラメーターとして、VC が最初に作成されたときに NDIS によって提供されました。

_B_

追加のプロトコル固有の切断データがある場合は、呼び出し元によって割り当てられた常駐バッファーへのポインター。 基になるメディアに応じて、このポインターは NULL にすることができます

_Z_

バッファーのサイズをバイト単位で指定します。 Buffer が NULL の場合は 0 です

戻り値

なし

解説

通常のネットワーク操作の過程で、MCM ドライバーは NdisMCmDispatchIncomingCloseCall を呼び出し、 CloseStatus を NDIS_STATUS_SUCCESS に設定します。これは、リモート ノード上の対応するクライアントが NdisClCloseCall を呼び出しているためです。

ただし、次のいずれかが発生した場合、 MCM ドライバーは NdisMCmDispatchIncomingCloseCall を呼び出すこともできます。

  • MCM ドライバーは、着信呼び出しオファーのクライアントに通知しました。 ミニポート ドライバーの場合 ProtocolCmIncomingCallComplete 関数は、クライアントの受け入れによって呼び出され、そのクライアントが変更した入力呼び出しパラメーターを検証します。 ProtocolCmIncomingCallComplete は、クライアントが接続に対してサポートできない呼び出しパラメーターを提案していることを判断し、 NdisMCmDispatchIncomingCloseCall を呼び出します。
  • 異常なネットワーク状態では、MCM ドライバーがアクティブな呼び出しを強制的に破棄します。 たとえば、このクライアントと接続のリモート パーティ間の接続上のリンクがダウンしたときに MCM ドライバーに通知された場合、ミニポート ドライバーは NdisCmDispatchIncomingCloseCall を呼び出して、このような切断された接続に対してクライアントがそれ以上のデータ転送を試行 (または予期) するのを防ぎます。
クライアントが NdisClCloseCall を 呼び出して VC の非アクティブ化を引き起こした後、VC の元の作成者が VC を破棄します。 クライアントは NdisCoDeleteVc を呼び出します。これにより、NDIS は MCM ドライバーの ProtocolCoDeleteVc 関数を呼び出すか、または MCM ドライバーは NdisMCmDeactivateVc を呼び出し、作成した VC に関連付けられた追加のリソースを解放した後に NdisMCmDeleteVc を呼び出します。

NdisMCmDispatchIncomingCloseCall を呼び出すと、NDIS はクライアントの を呼び出します。 ProtocolClIncomingCloseCall 関数。

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

要件

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

こちらもご覧ください

MiniportInterruptDPC

NdisClCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc