[转]NDIS中间层驱动开发在Win7系统下和Windows XP系统下的区别

标 题: 【原创】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中间层开发的资料 
上传的附件
文件类型: pdf NDIS中间层驱动开发.pdf (274.4 KB, 526 次下载) [谁下载?]
原文地址:https://www.cnblogs.com/adylee/p/2972535.html