阅读:2068回复:8
tdi与应用程序交互问题 ,求救啊
怎么我在应用程序中就是打不开我的设备啊。
以为自己错了 就用pcausa的passthru和他的应用程序tdihtest。同样也是打不开。 后来我net start pcatdih了。还是打不开。 玩了一天了一点效果都没有。 还有一件也是很麻烦的事,就是 原版的filtertdidriver和passthru的tdi例子都会死机,为什么啊。 我是xp下的。 passthru是运行一阵子就蓝屏了 filtertdidriver是推出的时候出现page fault。 各位大哥大姐帮帮忙吧。 |
|
|
沙发#
发布于:2007-01-11 13:39
请教大家一下
为什么用pcausa的passthru例子会死机呢 原版的 然道因为他是2000的版本 不支持xp。 很奇怪 要不那个框架写得多好啊 |
|
|
板凳#
发布于:2007-01-11 15:12
还有难道要启动tdi 就必须用命令行net start一下吗?
要不我的应用程序打不开这个设备。 请问你们要使用应用程序和驱动交互。 是怎么先加载驱动的啊。 多谢多谢 |
|
|
地板#
发布于:2007-01-11 18:23
我给自己顶一下先
zqw2006 你也在座这个 帮帮忙 回答我们这种初级入门的问题嘛 那个怎么在发送udp包的时候得到对方的ip和port的。 不太清楚啊 还有每次然道都要net start自己的tdi filter吗? 怎么才能让他自己启动。 要不我开自己的应用程序之前都要net start一下 或者让应用程序打开tdi filter。我就只能这么想了。 |
|
|
地下室#
发布于:2007-01-13 23:03
关于怎样在不使用net start 情况下加载驱动,我也在关注中。但是我知道怎样在senddatagram时获得对方的地址。我现在也是在做这个,刚写过这样的代码,参考楚狂人的connect中获得对方地址写的。
PTDI_CONNECTION_INFORMATION RmtInfor; TA_ADDRESS *remote_addr = NULL; UCHAR *RmtAddr; USHORT RmtPort=0; RmtInfor=((PTDI_REQUEST_KERNEL_SENDDG)&(IrpStack->Parameters))->SendDatagramInformation; remote_addr=((TRANSPORT_ADDRESS*)(RmtInfor->RemoteAddress))->Address; RmtAddr=(UCHAR*)&((PTDI_ADDRESS_IP)(remote_addr->Address))->in_addr; RmtPort=ntohs(((PTDI_ADDRESS_IP)(remote_addr->Address))->sin_port); 驱动加载,与应用程序通信这两个问题我也在关注和研究中。请诸位高手不吝赐教 |
|
5楼#
发布于:2007-01-15 09:01
那个在发送udp时候 得到对方的ip和端口的我已经解决了
至于那个net start 我也实在不知道啊 还有那个和应用程序如何交互,其实满简单的。 参照pcausa的passthru就可以了。没什么问题 |
|
|
6楼#
发布于:2007-01-15 09:15
对了 有人知道怎么在接收的时候得到对方的ip和port吗?
不管是udp的还是tcp的。 是不是要保存一个object的索引列表,来进行查询 不能直接从某个参数里面得到呢? |
|
|
7楼#
发布于:2007-01-18 20:10
察看tdifw的例子,还有ddk,里面有详细解释。具体忘了
|
|
|
8楼#
发布于:2007-01-19 09:41
hehe,谢谢啊
这个已经搞定了,就是你说的方法。 现在麻烦的是在send和receive下如何修改发送数据的长度了 修改数据倒是很方便,不用管校验和。但是那个长度。。。 这个还是要求助大家 |
|
|