共用方式為


NdisMCmDispatchIncomingCloseCall 宏 (ndis.h)

NdisMCmDispatchIncomingCloseCall 會告知用戶端卸載作用中或提供的呼叫,通常是因為 MCM 驅動程式已收到來自網路的要求來關閉連線。

語法

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

參數

_S_

指定呼叫端決定的NDIS_STATUS_XXX,指出中斷連線要求的原因。 在正常網路作業期間,MCM 驅動程式會傳遞NDIS_STATUS_SUCCESS,以指出它已收到遠端合作物件所起始的要求,以關閉作用中的呼叫。

_H_

指定要中斷連線之呼叫之 VC 的句柄。 此句柄是由 NDIS 在最初建立 VC 時提供,無論是 MCM 驅動程式搭配 NdisMCmCreateVc ,還是作為其 ProtocolCoCreateVc 函式的輸入參數。

_B_

呼叫端配置的駐留緩衝區指標,如果有的話,包含其他通訊協定特定中斷連線數據。 視基礎媒體而定,此指標可以是 NULL

_Z_

指定緩衝區的位元組大小,如果 BufferNULL,則為零。

傳回值

備註

在正常網路作業過程中,MCM 驅動程式會呼叫 NdisMCmDispatchIncomingCloseCall ,並將 CloseStatus 設定為 NDIS_STATUS_SUCCESS,因為遠端節點上的對應用戶端已呼叫 NdisCloseCall

不過,如果發生下列任一情況,MCM 驅動程式也可以呼叫 NdisMCmDispatchIncomingCloseCall

  • MCM 驅動程式已通知用戶端連入通話供應專案。 迷你埠驅動程序的時機 ProtocolCmIncomingCallComplete 函式是使用用戶端的接受來呼叫,它會驗證該用戶端已修改的輸入呼叫參數。 ProtocolCmIncomingCallComplete 會判斷用戶端提議連線不支援的呼叫參數,因此它會呼叫 NdisMCmDispatchIncomingCloseCall
  • 異常網路狀況會強制 MCM 驅動程序終止作用中的呼叫。 例如,如果 MCM 驅動程式在此用戶端與連線的遠端合作對象之間的任何連線連結中斷時收到通知,迷你埠驅動程式會呼叫 NdisCmDispatchIncomingCloseCall ,以防止用戶端嘗試 (或預期) 這類中斷連線上的進一步數據傳輸。
在用戶端呼叫 NdisCloseCall 因而造成 VC 停用之後,VC 的原始建立者會負責終結 VC。 用戶端會呼叫 NdisCoDeleteVc,這會導致 NDIS 呼叫 MCM 驅動程式的 ProtocolCoDeleteVc 函式,或 MCM 驅動程式在呼叫 NdisMCmDeleteVc 之後呼叫 NdisMCmDeleteVc,並釋放與它所建立之 VC 相關聯的任何其他資源。

呼叫 NdisMCmDispatchIncomingCloseCall 會導致 NDIS 呼叫用戶端的 ProtocolClIncomingCloseCall 函 式。

只有提供呼叫管理支持的連線導向迷你埠驅動程式可以呼叫 NdisMCmDispatchIncomingCall。 獨立呼叫管理員,向 NDIS 註冊為通訊協定驅動程式,改為呼叫 NdisCmDispatchIncomingCloseCall

規格需求

需求
最低支援的用戶端 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisMCmDispatchIncomingCloseCall (NDIS 5.1) ) 。 支援 NDIS 5.1 驅動程式 (請參閱 Windows XP 中的 NdisMCmDispatchIncomingCloseCall (NDIS 5.1) ) 。
目標平台 桌面
標頭 ndis.h (包含 Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_MCM_Function (ndis)

另請參閱

MiniportInterruptDPC

NdisCloseCall

NdisMCmDeactivateVc

NdisMCmDeleteVc

NdisMCmDispatchIncomingCall

NdisMCmDispatchIncomingDropParty

ProtocolClIncomingCloseCall

ProtocolCoDeleteVc