共用方式為


媒體中斷連線的低電源

在中斷連線時,媒體上的低電源中斷 (D3) 功能可藉由在媒體中斷連線時將網路介面卡置於低電源狀態 (D3) 來節省電源。 當媒體重新連線時,網路介面卡會恢復為全電源狀態, (D0) 。

NDIS 會在中斷連線功能上使用這些情況下的 D3:

  • 網路介面卡硬體必須能夠在媒體連線上產生喚醒事件。

  • 迷你埠驅動程式必須在NDIS_PM_CAPABILITIES結構的MinLinkChangeWakeUp成員中報告網路介面卡的喚醒事件功能。

  • MinLinkChangeWakeUp的值必須對應至IRP_MN_QUERY_CAPABILITIES IRP 所報告之DEVICE_CAPABILITIES結構的DeviceWake成員值。

  • 迷你埠驅動程式必須註冊為 NDIS 6.20 驅動程式或更新版本。

  • 網路介面卡必須是乙太網路 PCI 介面卡。

  • 喚醒事件功能必須由 *DeviceSleepOnDisconnect 標準 INF 檔案關鍵字啟用。

  • 電腦晶片組必須能夠在電腦完全電源時正確傳播喚醒事件。 NDIS 會藉由查詢 DEVPKEY_PciDevice_S0WakeupSupported PCI 屬性來驗證此問題。

請注意,只有在電腦完全處於工作狀態 (S0) 時,才能使用中斷連線的 D3。 當電腦進入睡眠狀態以防止在外部迴圈連結狀態時喚醒電腦,就會取消此功能;也就是說,關閉和開啟開關時。 如需電腦進入睡眠狀態時設定低電源狀態的詳細資訊,請參閱網路 喚醒的低電源

迷你埠驅動程式會在初始化期間報告中斷連線功能的 D3。 如需有關中斷連線功能報告 D3 的詳細資訊,請參閱 報告電源管理功能

*DeviceSleepOnDisconnect標準 INF 檔案關鍵字會指定裝置是否已在中斷連線時啟用或停用對 D3 的支援。 如需此 INF 關鍵字的詳細資訊,請參閱 Power Management 的標準化 INF 關鍵字

在初始化期間,在中斷連線時支援 D3 的迷你埠驅動程式必須報告最低電源等級,以支援通知作業系統媒體線上活動的能力。 迷你埠驅動程式會報告NDIS_PM_CAPABILITIES結構的MinLinkChangeWakeUp成員中的電源等級。 例如,迷你埠驅動程式可以報告 NdisDeviceStateD3

下圖說明在媒體中斷線上活動之後,將網路介面卡設定為低電源狀態的事件順序。

圖表說明在媒體中斷線上活動之後,將網路介面卡設定為低電源狀態的事件順序。

當介面卡偵測到媒體中斷連線時,會發生下列順序:

  1. 網路介面卡硬體會偵測媒體中斷線上活動,並將資訊傳遞至迷你埠驅動程式。

  2. 迷你埠驅動程式會使用 NDIS_STATUS_LINK_STATE 狀態指示通知 NDIS 媒體中斷線上活動。 NDIS_STATUS_INDICATION結構的StatusBuffer成員包含NDIS_LINK_STATE結構。 MediaConnectStateDisconnected 值是在NDIS_LINK_STATE結構的MediaConnectState成員中設定。

  3. NDIS 會使用 OID_PM_PARAMETERS 來停用網路喚醒,並啟用媒體連線喚醒 (NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED 是在 WakeUpFlags 成員) 中設定。

  4. NDIS 會使用 OID_PNP_SET_POWER OID 來通知迷你埠驅動程式新的電源狀態 (D3) 。

  5. NDIS 會將 IRP_MN_WAIT_WAKE IRP 傳送給 PCIe 匯流排,以等候重新線上活動。

  6. NDIS 會將 PCIe 匯流排設定為 具有 IRP_MN_SET_POWER IRP 的 D3 狀態。

下圖說明媒體線上活動之後,將完整電源還原至網路介面卡的事件順序。

此圖說明媒體連接事件之後要還原 nic 完整電源的事件順序。

當媒體重新連線時,會發生下列順序:

  1. 網路介面卡會在 PCIe 匯流排或 PCI 匯流排上的 PME# 上判斷提示 WAKE# 來喚醒系統。

  2. 公車會完成擱 置IRP_MN_WAIT_WAKE IRP。 從中斷連線順序的最後一個步驟擱置完成 IRP。

  3. NDIS 會使用 IRP_MN_SET_POWER IRP 將匯流排設定為完整電源 (D0) 。

  4. NDIS 會通知迷你埠驅動程式網路介面卡處於完整電源 (D0) 狀態,且 OID 集合要求為 OID_PNP_SET_POWER

  5. 網路介面卡會以 NDIS_STATUS_LINK_STATE 狀態指示通知媒體線上活動的 NDIS。 MediaConnectStateConnected值是在NDIS_LINK_STATE結構的MediaConnectState成員中設定。

從 NDIS 6.30 開始,如果迷你埠驅動程式支援 NDIS_STATUS_PM_WAKE_REASON 狀態指示,當網路介面卡喚醒系統時,它必須發出此狀態通知。 驅動程式正在處理OID_PNP_SET_POWER的 OID 集合要求,以轉換至全電源 ( D0) 狀態時發出此狀態通知。

如需詳細資訊,請參閱 NDIS 喚醒原因狀態指示

注意 如果迷你埠驅動程式發出 NDIS_STATUS_PM_WAKE_REASON 狀態指示,它必須先執行此動作,才能發出 NDIS_STATUS_LINK_STATE 狀態指示。