暫停配接器
NDIS 會呼叫迷你埠驅動程式的 MiniportPause 函式來起始暫停作業。 配接器會維持暫停狀態,直到暫停作業完成為止。
在暫停狀態中,迷你埠驅動程式必須完成未處理的接收作業。 驅動程式也必須完成任何未完成的傳送作業,而且應該拒絕任何新的傳送要求。
若要完成接收作業,驅動程式會等候 NdisMIndicateReceiveNetBufferLists 函式的所有呼叫傳回,而 NDIS 必須將所有未處理的 NET_BUFFER_LIST 結構傳回至迷你埠驅動程式的 MiniportReturnNetBufferLists 函 式。
若要完成未處理的傳送作業,迷你埠驅動程式應該針對所有未處理NET_BUFFER_LIST結構呼叫 NdisMSendNetBufferListsComplete 函式。 驅動程式應該立即拒絕對其 MiniportSendNetBufferLists 函式提出的任何新傳送要求。
在迷你埠驅動程式完成所有未處理的傳送和接收作業之後,驅動程式必須以同步或非同步方式完成暫停要求。 如果暫停作業是以非同步方式完成,驅動程式會呼叫 NdisMPauseComplete 來完成暫停要求。 完成暫停要求之後,迷你埠驅動程式會處於 [已暫停] 狀態。
NDIS 不會起始其他隨插即用作業,例如停止、初始化、電源變更或重新開機作業,而迷你埠驅動程式處於暫停狀態。 在迷你埠驅動程式處於暫停狀態之後,NDIS 可以起始這些隨插即用作業。