Tdifw 移植到win7
来源:互联网 发布:战舰世界mac 国服切换 编辑:程序博客网 时间:2024/06/06 09:27
最近再接触开源网络驱动Tdifw,要把它移植到win7上。网上有很多说法,大部分说win7完全支持Tdi,少部分说不支持。
比较有说服力的一种说法是,win7为兼容Tdi,新增加了Tdx驱动。afd如果发现有TDI 过滤驱动,则按照TDI方式传递IRP,否则,直接将IRP传递给Tcpip.sys。
不管怎么说,Tdifw直接放在win7上是跑不了的。
需要做以下改变:
1.在Disp_Obj.c文件中的tdi_create_addrobj_complete函数里,在询问IP地址和端口号时返回的是PENDING ( WindosXP下返回的是SUCCESS ),也就是
TdiBuildQueryInformation(query_irp, devobj, irps->FileObject,
tdi_create_addrobj_complete2, ctx,
TDI_QUERY_ADDRESS_INFO, mdl);
status = IoCallDriver(devobj, query_irp);
这里的status 是PENDING。
所以需要做如下改动:
if (Irp->IoStatus.Status!= STATUS_SUCCESS) { //wdf
// tdi_create failed - remove fileobj from hash
ot_del_fileobj(irps->FileObject, NULL);
}
2.在Ev_revc.c文件中的tdi_event_receive函数里,
PIO_STACK_LOCATION irps = IoGetCurrentIrpStackLocation(*IoRequestPacket);
这里的irps有可能为NULL,导致下面语句调用iprs指针出错,在windowsXP下IoRequestPacket为NULL,所以执行不到这句话。
所以 注释掉这个if块: /* if (*IoRequestPacket != NULL) {.......} */
本人刚刚接触网络驱动,一些问题还是不太清楚,不能很好的解释这些问题,如果你有更好的办法,或者有更好的想法,或者更好的解释,希望一起探讨!
【程序员的梦想】:http://jq.qq.com/?_wv=1027&k=LgFkAp
- Tdifw 移植到win7
- TDIFW ObReferenceObjectByName win7 出现0xc00000024
- cocos2dx-2.0.3+win7下移植TestCpp到android平台
- win7+cocos2dx2.1.4+cywin 下cocos2dx移植到android
- win7+vs2010的程序移植到win8+vs2013
- tdifw tdi_event_receive_datagram 问题
- tdifw tdi_event_receive_datagram 问题
- XP 下的Visual Studio工程移植到Win7的注意事项
- 将win7下编译好的nutch移植到linux下运行,出现ExcutionException问题
- 移植带X264库的FFMPEG到ANDROID(win7上,用MINGW)
- win7+cocos2d-x2.1.3+NDK9r+cygwin+adt-bundle-windows-x86-20130729由VS2010WIN32移植到android
- win7下将rtt1.2.0移植到4088开发板上
- win7下把win32游戏移植到Android平台(无需cygwin和minigw)
- nehe的opengl教程 opengl窗口章 移植到vs2013 win7环境下
- WIN7+VS2012+COCOS2D-X 3.7创建的项目移植到iphone IOS步骤
- VS为XP开发的程序移植到Win7上遇到两个小的问题及解决办法
- cocos2d-x入门(7)-win7下把win32游戏移植到Android平台(无需cygwin和minigw)
- cocos2d-x入门(7)-win7下把win32游戏移植到Android平台(无需cygwin和minigw)
- poj 1861 Network
- 优化hbase的查询操作-大幅提升读写速率
- mysql数据库连接池配置
- 1080 - Binary Simulation[树状数组]
- Binder框架及运用详解
- Tdifw 移植到win7
- BootStrap -- Grid System
- 时代双雄:云计算与大数据
- 用户可以在下拉列表框中选择头像来进行头像更改
- 根据select标签中option选项的变化动态更改表单元素
- 你已经知道的成功秘密:与优秀者同行
- 【DP】UVA 10003 Cutting Sticks 类似矩阵链乘
- Kinect sdk VC环境下配置
- uboot的作用及主要工作