在 NDIS 傳送針對某個綁定的網路隨插即用(PnP)暫停事件通知給通訊協定驅動程式後,該綁定會進入暫停狀態。
若要通知 PnP 暫停事件的通訊協定驅動程式,NDIS 會呼叫 ProtocolNetPnPEvent 函式,並將 NET_PNP_EVENT_NOTIFICATION 結構的 NetEvent 成員設定為 NetEventPause。 Buffer 成員包含NDIS_PROTOCOL_PAUSE_PARAMETERS結構。
針對處於暫停狀態的系結,通訊協定驅動程式:
不應發起任何新的傳送要求。
必須等待未完成的傳送要求結束。 在 NDIS 呼叫 ProtocolSendNetBufferListsComplete 函式以取得所有驅動程式未處理的傳送要求之前,暫停作業才會完成。
應該像往常一樣處理接收提示。 基礎迷你埠驅動程式會在完成暫停作業之前等候未完成的接收數據傳回。 這可確保在迷你埠驅動程序暫停之後,驅動程式堆疊中沒有任何進行中的接收作業。
應立即將新的接收指示回傳給 NDIS。 如有必要,驅動程式可以在傳回這些指示之前先複製這類接收指示。
如需通訊協定驅動程式傳送和接收作業的詳細資訊,請參閱 通訊協定驅動程式傳送和接收作業。
系結會在通訊協定驅動程式傳回系結的未完成接收指示後進入暫停狀態,而 NDIS 已完成系結的所有未完成傳送要求。
針對處於暫停狀態的系結,通訊協定驅動程式:
不得提出任何傳送要求。
應該立即傳回接收指示。 如有必要,驅動程式可以在傳回這些指示之前先複製這類接收指示。