標 題: 【原創】NDIS中介層驅動開發在Win7系統下和Windows XP系統下的區別
作 者: tianhz
時 間: 2011-07-21,14:58:04
鏈 接: http://bbs.pediy.com/showthread.php?t=137545
網路資料由在網路上發送和接收的資料包組成。 NDIS 提供了資料結構來描述它們, NDIS
6.0 提供了如下資料結構:
1) NET_BUFFER
2) NET_BUFFER LIST
3) NET_BUFFER_LIST_CONTEXT
在 NDIS 6.0 中,NET_BUFFER 是封閉網路資料的基本構建塊。每一個 NET_BUFFER 都有
一個 MDL 鏈。這些 MDL映射的緩衝區地址是 NET_BUFFER 指定的資料空間。這種資料對應
同 NDIS 5.X 及之前的版本使用的 NDIS_PACKET 中的映射是一樣的。NDIS 提供函數來管理這
些 MDL 鏈。
多個NET_BUFFER可以被附加到(可以被串到)一個NET_BUFFER_LIS上。這些NET_BUFFER
被組織成一個以 NULL 結束的單鏈表。驅動或 NDIS僅建立一個 NET_BUFFER_LIST,應該修改
它的鏈表給它插入或刪除一些 NET_BUFFER 結構。
NET_BUFFER_LIST 結構中包含的資訊中描述了所有被串到一個鏈表上的 NET_BUFFER 結
構。如果 NET_BUFFER_LIST 需要上下文資訊,可以分配額外的空間來儲存一個
NET_BUFFER_LIST_CONTEXT 結構。NDIS 提供函數來分配、訪問 NET_BUFFER_LIST_CONTEXT
中的資料。
多個 NET_BUFFER_LIST 結構可以串成一個 NET_BUFFER_LIST 鏈表。它們可以被組織成一
個以 NULL 結尾的單向鏈表。驅動可以對這個鏈表直接進行插入、刪除操作。
NDIS 6.0 中使用的 NET_BUFFER 結構相似於 NDIS 5.X 以前使用的 NDIS_PACKET結構,每
一個 NET_BUFFER 結構中都封裝了一個網路資料包。
這裡,上傳一份NDIS中介層開發的資料 上傳的附件
|
NDIS中介層驅動開發.pdf (274.4 KB, 526 次下載) |
[誰下載?] |