MINIPORT_IDLE_NOTIFICATION回呼函式 (ndis.h)
NDIS 會呼叫 MiniportIdleNotification 處理程式函式,在閑置網路適配器上啟動 NDIS 選擇性暫停作業。 透過這項作業,網路適配器會暫停並轉換為低電源狀態。
語法
MINIPORT_IDLE_NOTIFICATION MiniportIdleNotification;
NDIS_STATUS MiniportIdleNotification(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] BOOLEAN ForceIdle
)
{...}
參數
[in] MiniportAdapterContext
迷你埠驅動程式在其 MiniportInitializeEx 函式中配置的內容區域句柄。 迷你埠驅動程式會使用此內容區域來維護網路適配器的狀態資訊。
[in] ForceIdle
BOOLEAN 值,當設定為 TRUE 時,指定迷你埠驅動程式不得擁有閑置通知,而且必須繼續執行低電源狀態轉換。
如需 ForceIdle 參數的詳細資訊,請參閱一節。
傳回值
MiniportIdleNotification 會傳回下列其中一個狀態值:
傳回碼 | Description |
---|---|
NDIS_STATUS_PENDING | 迷你埠驅動程式已成功處理閑置通知。 通知會處於擱置狀態,直到迷你埠驅動程式呼叫 NdisMIdleNotificationComplete 為止。 注意: 迷你埠驅動程式不得從 MiniportIdleNotification 傳回NDIS_STATUS_SUCCESS。 |
NDIS_STATUS_BUSY | 迷你埠驅動程式已取消閑置通知,因為網路適配器仍在使用中。 注意:如果 ForceIdle 參數設定為 TRUE,MiniportIdleNotification 不得傳回此狀態代碼。 |
NDIS_STATUS_FAILURE | 迷你埠驅動程式無法成功發出總線特定的 IRP。 |
備註
支援 NDIS 選擇性暫停介面的迷你埠驅動程式需要 MiniportIdleNotification 處理程式函式。 如需驅動程式如何註冊其選擇性暫停處理程式函式的詳細資訊,請參閱 註冊 NDIS 選擇性暫停處理程式函式。
當網路適配器閑置逾時期間超過閑置逾時期間時,NDIS 會將 ForceIdle 參數設定為 FALSE 。 因此,NDIS 會選擇性 地只暫停網路適配器。
閑置逾時期間的持續時間是由 *SSIdleTimeout INF 關鍵詞的值所指定。 如需此關鍵詞的詳細資訊,請參閱 NDIS 選擇性暫停的標準化 INF 關鍵詞。
注意
只有在符合 Always Connected Always On Always Connected (AOAC) 技術的系統轉換為連線待命狀態時,NDIS 才會將 ForceIdle 參數設定為 TRUE。
如果迷你埠驅動程序判斷正在使用網路適配器,則可以傳回NDIS_STATUS_BUSY,以取得閑置通知要求。 這會導致 NDIS 重新啟動網路適配器上的活動監視器。
如果適配卡在閑置逾時期間內再次變成非作用中,NDIS 會呼叫 MiniportIdleNotification。
注意
如果 ForceIdle 參數設定為 TRUE,迷你埠驅動程式不得傳回NDIS_STATUS_BUSY。
發出閑置通知之後,可以透過下列方式取消和完成:
如果下列條件成立,NDIS 可以取消未處理的閑置通知:
- 過度配置通訊協定或篩選驅動程式會發出傳送封包要求或 OID 要求給迷你埠驅動程式。
- 基礎配接器會發出喚醒事件的訊號,例如接收符合網路喚醒 (WOL) 模式的封包,或偵測其媒體連線狀態的變更。
NDIS 會呼叫 MiniportCancelIdleNotification 來取消閑置通知。 呼叫此處理程式函式時,迷你埠驅動程式會取消先前針對閑置通知發出的任何總線特定 IRP。 最後,迷你埠驅動程式會呼叫 NdisMIdleNotificationComplete 來完成閑置通知。
網路適配器處於低電源狀態之後,迷你埠驅動程式可以完成閑置通知本身,以便將適配卡恢復為全電源狀態。 執行此動作的原因,是驅動程式和配接器的設計和需求專屬。
迷你埠驅動程式會呼叫 NdisMIdleNotificationComplete 來完成閑置通知。 如需迷你埠驅動程式如何完成閑置通知的詳細資訊,請參閱 完成 NDIS 選擇性暫停閑置通知。
如需如何處理 NDIS 選擇性暫停閑置通知的詳細資訊,請參閱 處理 NDIS 選擇性暫停閑置通知。
如需如何實作 MiniportIdleNotification 處理程式函式的指導方針,請參閱 實作 MiniportIdleNotification 處理程式函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.30 和更新版本支援。 |
目標平台 | Windows |
標頭 | ndis.h (包括 Ndis.h) |
IRQL | PASSIVE_LEVEL |