阅读:1560回复:8
ptReceive中ProtocolBindingContext是怎么传进去的?
在passthru中DriverEntry里面指定了MChars.???=pt???等函数 比如PChars.ReceiveHandler = PtReceive; 但是参数又是怎么传的呢?我想知道protocol.c中很多函数的参数IN NDIS_HANDLE ProtocolBindingContext是在那里传值进去的?? 那个全局变量包含此信息?
|
|
沙发#
发布于:2004-05-19 16:29
PtReceive是由系统调用的,当然也是有系统传递进去的。不在PASSTHRU 中。
|
|
板凳#
发布于:2004-05-19 16:40
如果我把收到的包保存到自己的队列中,如果以后要发送的时候(传送到应用层处理后)是不是要在收包的时候把NDIS_HANDLE ProtocolBindingContext、PNDIS_PACKET信息也保存到队列中去呢?
|
|
地板#
发布于:2004-05-19 17:14
不用,发送是用NdisSend,但PNDIS_PACKET要保存。
|
|
地下室#
发布于:2004-05-19 17:26
asmsys老大,我先把分给你了 再问问如果接收的时候要把数据包向上指示应该保存ProtocolBindingContext吧?
|
|
5楼#
发布于:2004-05-19 17:38
都不用,向上指示用NdisMIndicateReceivePacket,你看他的参数用的着吗。
|
|
6楼#
发布于:2004-05-19 17:45
ptReceive中:
pAdapt =(PADAPT)ProtocolBindingContext; NdisMIndicateReceivePacket(pAdapt->MiniportHandle, &MyPacket, 1); 还是应该保存 呵呵 |
|
7楼#
发布于:2004-05-19 17:50
pAdapt的地址在passthru中保存了呀,你直接拿过来用就成。
|
|
8楼#
发布于:2004-05-19 18:02
谢了谢了
在passthru.c还是哪个文件中呢(小弟初学驱动),不会是pAdaptPADAPT pAdaptList吧?我看了passthru源码正在找这个变量呢,那个变量呢? [编辑 - 5/19/04 by chili] |
|