共用方式為


中繼驅動程式重設作業

中繼驅動程式必須準備好應對其綁定至下層驅動程式的佇列傳送可能因為基礎 NIC 重設而被丟棄的情況。

基礎驅動程式通常會重設 NIC,因為當 NDIS 逾時佇列傳送或系結至 NIC 的要求時,NDIS 會呼叫迷你埠驅動程式的 MiniportResetEx 函式。 如果基礎 NIC 重設,NDIS 會呼叫每個系結通訊協定和中繼驅動程式狀態為NDIS_STATUS_RESET_START的 ProtocolStatusEx(或 ProtocolCoStatusEx) 函式。 當迷你埠驅動程式完成重設時,NDIS 會再次呼叫 ProtocolStatusEx(或 ProtocolCoStatusEx),狀態為 NDIS_STATUS_RESET_END。

當網路介面卡 (NIC) 被重置時,如果綁定的中繼驅動程式有任何正待該 NIC 傳送的網路數據,NDIS 會將這些網路數據與適當的狀態返回給中繼驅動程式。 中繼驅動程式必須在重設完成時重新提交這些網路數據。

當中繼驅動程式收到 NDIS_STATUS_RESET_START 狀態時,它應該:

  • 保留任何準備好傳輸的網路數據,直到 ProtocolStatusExProtocolCoStatusEx 收到NDIS_STATUS_RESET_END通知為止。

  • 直到 ProtocolStatusEx(或 ProtocolCoStatusEx)收到 NDIS_STATUS_RESET_END 通知之前,應保留並準備好任何已接收的網路數據,以待指示給上層驅動程式。

  • 清除它針對進行中作業和 NIC 狀態所維護的任何內部狀態。

ProtocolStatusEx(或 ProtocolCoStatusEx)收到NDIS_STATUS_RESET_END之後,中繼驅動程式可以繼續傳送網路數據,提出要求,並指示較高層級的驅動程式。

中繼驅動程式不提供 MiniportResetEx 函式。