暫停系結

在 NDIS 傳送通訊協定驅動程式網路隨插即用 (PnP) 暫停系結的事件通知之後,系結會進入暫停狀態。

若要通知通訊協定驅動程式 PnP 暫停事件,NDIS 會呼叫ProtocolNetPnPEvent函式,並將NET_PNP_EVENT_NOTIFICATION結構的NetEvent成員設定為NetEventPauseBuffer成員包含NDIS_PROTOCOL_PAUSE_PARAMETERS結構。

針對處於暫停狀態的系結,通訊協定驅動程式:

  • 不應該起始任何新的傳送要求。

  • 必須等候未完成的傳送要求。 在 NDIS 呼叫 ProtocolSendNetBufferListsComplete 函式以取得所有驅動程式未處理傳送要求之前,暫停作業才會完成。

  • 應該如往常處理接收指示。 基礎迷你埠驅動程式會等候未完成的接收資料傳回,再完成暫停作業。 這可確保在迷你埠驅動程式暫停之後,驅動程式堆疊中沒有進行中的接收作業。

  • 應該立即將新的接收指示傳回給 NDIS。 如有必要,驅動程式可以在傳回這些指示之前先複製這類接收指示。

如需通訊協定驅動程式傳送和接收作業的詳細資訊,請參閱 通訊協定驅動程式傳送和接收作業

系結會在通訊協定驅動程式完成傳回系結的未處理接收指示之後進入 Paused 狀態,而 NDIS 已完成系結的所有未處理傳送要求。

針對處於暫停狀態的系結,通訊協定驅動程式:

  • 不得進行任何傳送要求。

  • 應該立即傳回接收指示。 如有必要,驅動程式可以在傳回這些指示之前先複製這類接收指示。