通訊協定驅動程式的系結狀態
NDIS 通訊協定驅動程式必須針對驅動程式管理的每個系結支援下列操作狀態:
未繫結
開啟
執行中
關閉
正在暫停
已暫停
重新啟動
下圖顯示這些狀態之間的關聯性。
下列定義通訊協定驅動程式系結狀態:
Unbound狀態是系結的初始狀態。 在此狀態下,通訊協定驅動程式會等候 NDIS 呼叫 ProtocolBindAdapterEx 函 式。 在 NDIS 呼叫 ProtocolBindAdapterEx之後,系結會進入開啟狀態。 解除系結作業完成之後,系結會從 [關閉] 狀態返回 [未系結] 狀態。
在 開啟 狀態中,通訊協定驅動程式會配置系結的資源,並嘗試開啟迷你埠配接器。 在 NDIS 呼叫驅動程式的 ProtocolBindAdapterEx 函 式之後,系結會進入 Open 狀態。 如果通訊協定驅動程式無法系結至迷你埠配接器,系結會傳回 Unbound 狀態。 如果驅動程式成功系結至迷你埠配接器,系結就會進入 Paused 狀態。
在 [ 執行 中] 狀態中,通訊協定驅動程式會執行系結的正常傳送和接收處理。 當系結處於重新開機狀態,且驅動程式已準備好執行傳送和接收作業時,系結會進入執行中狀態。
在 [關閉 ] 狀態中,通訊協定驅動程式會將系結關閉至迷你埠配接器,然後釋放系結的資源。 在 NDIS 呼叫通訊協定驅動程式的 ProtocolUnbindAdapterEx 函 式之後,系結會進入 Closing 狀態。 通訊協定驅動程式完成解除系結作業之後,系結會進入 Unbound 狀態。
在 暫停 狀態中,通訊協定驅動程式會完成停止傳送和接收系結作業所需的任何作業。 當系結處於執行中狀態且 NDIS 傳送通訊協定驅動程式 PnP 暫停通知時,系結會進入暫停狀態。 通訊協定驅動程式必須等候所有未完成的傳送要求完成。 通訊協定驅動程式無法失敗暫停作業。 暫停作業完成之後,系結會進入暫停狀態。
在 [暫停 ] 狀態中,通訊協定驅動程式不會執行系結的傳送或接收作業。 當系結處於暫停狀態且暫停作業完成時,系結會進入 Paused 狀態。 當系結處於 「開啟」狀態且開啟作業順利完成時,系結會進入 「已暫停」狀態。 如果 NDIS 為系結傳送通訊協定驅動程式 PnP 重新開機通知,則系結會進入重新開機狀態。 如果 NDIS 呼叫驅動程式的 ProtocolUnbindAdapterEx 函 式,則系結會進入 Closing 狀態。
在 重新開機 狀態中,通訊協定驅動程式會完成重新開機系結傳送和接收作業所需的任何作業。 當系結處於暫停狀態,而 NDIS 傳送通訊協定驅動程式 PnP 重新開機通知時,系結會進入重新開機狀態。 如果重新開機失敗,系結會返回暫停狀態。 如果重新開機成功,系結會進入執行中狀態。