Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2021回复:14

------关于passthru的receive问题-------

楼主#
更多 发布于:2002-06-11 13:08
passthru中的miniport.c中有个MPSend函数可以截获本机发送的包,如果想要截获本机接收的包应该在什么地方呢?我想在miniport上来做。
请指点,多谢!

最新喜欢:

flyfoxflyfox
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-11 17:37
passthru中的miniport.c中有个MPSend函数可以截获本机发送的包,如果想要截获本机接收的包应该在什么地方呢?我想在miniport上来做。
请指点,多谢!


可在protocol.c中的
PtReceive 及 PtReceivePacket 等。。。。。。

或miniport.c中的MPTransferData。。。



 :)
[color=red]大头鬼! :P[/color]
Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-12 08:55
MPTransferData是不是发送和接收的包都要处理?
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-12 09:27
MPTransferData是不是发送和接收的包都要处理?


only during recieving .
有点意思。。。 呵呵!
Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-12 09:37
MPTransferData的代码如下:
PADAPT pAdapt = (PADAPT)MiniportAdapterContext;
NDIS_STATUS Status;

//
// Return, if the device is OFF
//

if (IsIMDeviceStateOn(pAdapt) == FALSE)
{
return NDIS_STATUS_FAILURE;
}

NdisTransferData(&Status,
pAdapt->BindingHandle,
MiniportReceiveContext,
ByteOffset,
BytesToTransfer,
Packet,
BytesTransferred);

return(Status);

如果我要对receive的packet进行过滤,是不是应该在NdisTransferData之前进行处理?
多谢!
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-12 09:48
MPTransferData的代码如下:
PADAPT pAdapt = (PADAPT)MiniportAdapterContext;
NDIS_STATUS Status;

//
// Return, if the device is OFF
//

if (IsIMDeviceStateOn(pAdapt) == FALSE)
{
return NDIS_STATUS_FAILURE;
}

NdisTransferData(&Status,
pAdapt->BindingHandle,
MiniportReceiveContext,
ByteOffset,
BytesToTransfer,
Packet,
BytesTransferred);

return(Status);

如果我要对receive的packet进行过滤,是不是应该在NdisTransferData之前进行处理?
多谢!


不是这么简单,你最好安心仔细看看ddk吧。
要把receive and send 流程搞清楚。
有点意思。。。 呵呵!
Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-12 10:01
不好意思,主要是任务比较着急。而且在Protocol.c的PTReceive中会遇到Packet总是为NULL的情况,看过以前的几片帖子,可是都没有很好的解决办法,请问到底应该怎样?
再次感谢!!!
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-12 11:47
MPTransferData的代码如下:
PADAPT pAdapt = (PADAPT)MiniportAdapterContext;
NDIS_STATUS Status;

//
// Return, if the device is OFF
//

if (IsIMDeviceStateOn(pAdapt) == FALSE)
{
return NDIS_STATUS_FAILURE;
}

NdisTransferData(&Status,
pAdapt->BindingHandle,
MiniportReceiveContext,
ByteOffset,
BytesToTransfer,
Packet,
BytesTransferred);

return(Status);

如果我要对receive的packet进行过滤,是不是应该在NdisTransferData之前进行处理?
多谢!


应该在NdisTransferData后处理接收!

 :)
[color=red]大头鬼! :P[/color]
Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-12 12:02
多谢二位,分已给出。
Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-12 13:16
我在MPTransferData函数的NdisTransferData后面打印Packet内容,在DriverMonitor中观察,发现系统明显变得有些缓慢,鼠标还间隔性的停顿,怎么才能防止出现这样的问题呢?
多谢!
Zer0
驱动牛犊
驱动牛犊
  • 注册日期2002-04-26
  • 最后登录2002-10-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-12 14:17
而且在这个函数里得到的包结构是错误的,协议标识位是C0A8而不是0800或者是其他的协议,为什么呢?
babizhu
驱动牛犊
驱动牛犊
  • 注册日期2002-01-29
  • 最后登录2003-08-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-14 17:53
c0a8是什么??是不是192 168,仔细看一下满像局域网的ip的前两个哦,如果是的话,也许是你的位置找错了
falwind
驱动牛犊
驱动牛犊
  • 注册日期2001-12-21
  • 最后登录2006-12-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-06-14 20:03
我在MPTransferData函数的NdisTransferData后面打印Packet内容,在DriverMonitor中观察,发现系统明显变得有些缓慢,鼠标还间隔性的停顿,怎么才能防止出现这样的问题呢?
多谢!

不会吧?装一个passthru就有这么大的影响?passthru不是基本上什么都没有做吗?
sunnnn
驱动牛犊
驱动牛犊
  • 注册日期2002-01-30
  • 最后登录2009-03-20
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-14 20:19
打印内容是怎么打的呢?如果是达到用户界面上去的话,我觉得如果先达到队列里去,然后在应用层用Timer或另外一个线程到驱动程序里读数据,这样会好一些!!
sunnnn
驱动牛犊
驱动牛犊
  • 注册日期2002-01-30
  • 最后登录2009-03-20
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-14 20:20
真巧,我也在研究NDIS特别是Intermediate Driver!
游客

返回顶部