達人眼中的WINCE網路驅動

2021-07-06 00:10:24 字數 866 閱讀 1727

實際上在wince上開發網路驅動,比如設計乙個nic驅動, 大多數情況,是從xp移植ndis miniport驅動(小埠驅動)到wince。什麼是ndis?ndis做什麼用的? 什麼是miniport驅動?

什麼是ndis? 也許你很早就聽說過ndis:network driver inte***ce specificatiion網路裝置介面規範。我總結了如下:

1. ndis是乙個協議,標準,規範。 從win95的3.0版本,到winxp的5.1版本,到vista的6.0版本, wince5是5.1版本。 

2. ndis也是一組api,也是乙個庫ndis.dll。 他為網路驅動定義了一組標準api。並且提供了執行時呼叫支援。編譯驅動時候,常見的是驅動需要靜態的鏈結乙個ndis.lib。(關於dll的lib和直接使用dll性質一樣,差別我就不多說了。)

3. ndis也是乙個框架結構。乙個architecture。它描述了各個驅動的介面。驅動都是在ndis這個框架裡面實現。

連linux都用ndis,wince有什麼理由不用?是的,wince遵循的ndis規範是nt裡面使用的ndis的乙個子集。 實現形式是ndis.dll, 被設計成乙個流驅動的形式, 在boot時候由device.exe載入,字首是nds。另外wince也實現了ndisuio元件, ndisuio被設計成乙個ndis的協議層驅動, export出流介面給應用。此外還提供了乙個netlog功能, 他提供netlog.exe和netlogctl.ext工具,可以監視網路流量等等資訊。上面說的3個元件在pb裡面對應的名稱是network driver architecture(ndis), ndus user-mode i/o driver, ndis packet capturing dll。在catalog視窗裡面容易找到他們。

**:

wince 驅動的理解

wince 驅動的理解 1.wince 分層驅動 分為 mdd層 pdd層 mdd層為應用提供介面 ddi pdd為mdd提供介面 ddsi pdd 層驅動為 mdd 層驅動隱藏了具體的硬體實現 2.wince 單片驅動 單片驅動不僅直接為系統提供介面,也直接操作硬體。相比分層驅動它可以提更高的效率...

WinCE的電池驅動實現

wince電池驅動的實現 wince6的public目錄下,已經建立了電池驅動的架構,分為mdd層與pdd層,mdd層我們基本不用改動,我們需要修改的部分是pdd層,加入與自己系統硬體相關的部分就可以 為了不發動public下的 我們需要將pdd層的相關 複製到自己的bsp目錄下 如 platfor...

wince的定時關機驅動

以前平台的定時關機是利用wince自帶的定時休眠部分 實現的,同事老是說定時關機時間不準確,所以花了點時間,寫了個簡單的驅動。具體看下面的 include include s2410.h include try define maxactivitytimeout 0xffffffff 1000 in...