当我想写一个基于进程的流量防火墙(仅显示流量,暂不做限流),我翻开了寒江。阅读上面的TDI驱动一节,然后我就懵了,地址对象和连接对象到底是个啥?为啥IRP_MJ_CREATE会被调用两次?跟我在上层的socket  api调用有啥联系?为啥要记录地址对象和连接对象的对应关系呢?于是,我想从Socket Api到TDI驱动顺一遍。到底它们的联系是啥?

下面的分析基于ReactOS-0.3.1,源码分析思路结构来源于毛德操老师的《Windows内核情景分析》

我是看雪AntBean,这是我网络驱动学习探索的最后一部分。
网络驱动的其他几部分:
http://bbs.pediy.com/showthread.php?t=143685

http://bbs.pediy.com/showthread.php?t=143754

http://bbs.pediy.com/showthread.php?t=144414
欢迎讨论

上传的附件 从socket api到TDI驱动.doc