顯示廣告
隱藏 ✕
看板 uefacool
作者 uefangsmith (唉呦!不錯哦~)
標題 [NDIS] Media Disconnect
時間 2012年10月05日 Fri. PM 03:19:47


2001年03月31日09:57:05 星期六
http://book.77169.org/data/web5004/20050227/20050227__3720443.html

實時檢測網線被拔掉是需要網卡設備驅動程序支持的,
如果驅動程序不支持是無法實現的,NDIS4要求設備驅動程序

最好提供CheckForHangHandler回調函數。 2000會每隔2秒鐘
調用此函數。

驅動程序在此函數中檢查網卡連線狀態,
如果發生了改變,即拔去了網線或接上了網線,
驅動程序就會調用NdisMIndicateStatus通知所有的上層NDIS協議驅動程序.
其中:
NDIS_STATUS_MEDIA_DISCONNECT 指示網線被拔掉,
NDIS_STATUS_MEDIA_CONNECT 指示網線被接上
NDIS_STATUS_LINK_SPEED_CHANGE 指示網卡速度改變,10/100自適應網卡才有。

網卡一般都有status register 指示當然的連線狀態,
也有網卡是通過獲得led status 來知道當前的連線狀態的,
即綠燈亮表示連線,滅表示沒有。
有些網卡拔掉或接上網線時會產生中斷,在中斷處理程序中一般也
檢測網絡連線狀態並調用NdisMIndicateStatus,這樣連線狀態
在2000中就實時反應出來了,否則會在2秒鐘內,即NDIS調用CheckForHangHandler後。

這個功能是微軟在PC97規範中定義的,所以ndis3沒有這個功能。

--
※ 作者: uefangsmith 時間: 2012-10-05 15:19:47
※ 編輯: uefangsmith 時間: 2012-10-05 15:22:07
※ 看板: uefacool 文章推薦值: 0 目前人氣: 0 累積人氣: 32 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇