深度剖析WinPcap之(六)——驱动程序的初始化与清除
2009-09-11 00:00:00 来源:WEB开发网这是一个必须提供的函数。当协议驱动程序调用NdisReset函数执行复位操作,返回值为NDIS_STATUS_PENDING,则接着调用ProtocolResetComplete完成复位操作。
RequestCompleteHandler
这是一个必须提供的函数。当协议驱动程序调用NdisRequest函数查询和设置操作,返回值为NDIS_STATUS_PENDING,则调用ProtocolRequestComplete完成操作。
ReceiveHandler
对绑定到一个非面向连接的NIC驱动程序上的NDIS协议驱动程序,这是一个必须提供的函数。ProtocolReceive决定协议驱动程序的使用者对一个被接收的网络数据包是否感兴趣,如果感兴趣,就复制所需要的数据,可能地,调用NdisTransferData重新获取剩余的所需数据包。
ReceiveCompleteHandler
这是一个必须提供的函数。驱动程序完成前面所述的一个或多个从一个NIC驱动程序接收所需数据的操作后,ProtocolReceiveComplete完成诸如通知协议驱动程序使用者之类的后处理。
StatusHandler
这是一个必须提供的函数。ProtocolStatus函数用来处理低层NIC驱动程序所指示状态的改变。
StatusCompleteHandler
这是一个必须提供的函数。ProtocolStatusComplete完成一个状态改变的操作,该操作由底层驱动程序调用NdisMIndicateStatus发起。
Name
一个NDIS_STRING类型,包含调用者初始化的一个字符串,用来命名该驱动程序,采用系统默认的字符集。
对Windows 2000与后面的驱动,该字符串为Unicode字符。也就是说,对Windows 2000与以后的版本,NDIS定义NDIS_STRING类型为一个UNICODE_STRING类型。当协议被安装时,该字符串必须与注册表所指定的(在Services条目之下)匹配。
NdisRegisterProtocol把所提供的字符串转换为大写字符,因此一个协议驱动程序的编写者不能假设通过改变一个已经注册协议名称的大小写来为驱动创建一个唯一的名称。
- ››深度解释攻击linux服务器的四种级别
- ››剖析java.util.concurrent锁
- ››剖析Android智能手机系统的更多功能
- ››深度分析地方社区网站的内容定位
- ››剖析Windows Azure Platform框架与组成
- ››剖析使用 ObjectOutputStream 可能引起的内存泄漏...
- ››剖析EWebEditor编辑器漏洞攻击案例
- ››剖析开源云:构建 Infrastructure as a Service 块...
- ››深度剖析 Android 和 iPhone OS
- ››深度分析:HTML5能否成为Flash终结者
- ››深度挖掘 更多Windows 7快捷模式
- ››深度挖掘 Windows 7快捷模式
更多精彩
赞助商链接