阅读:1431回复:5
关于passthru中的几个问题
在ptReceive函数中的headbuffer中存储的是什么内容?有什么用途?
既然headbuffer和lookaheadbuffer已经能够访问到包的具体内容,为什么还要用getreceivepacket这个函数来获取packet(我想我的理解一定是不对的),请告知啊?谢谢。 packetsize中存储的是整个报文的的长度,那headbuffersize+lookaheadbuffersize的长度是什么长度,我看了过去的一些帖子中发现还要判断二者的关系。如果(packetsize>headbuffersize+lookaheadbuffersize)则要调用NDIStransferdata。是把?? 还有ptreceive函数总要判断数据是否收齐,为什么大家不直接用ptReceivePacket(是不是在这个函数中就不需要调用NdisTransferdata函数了),还有为什么ptRecvivePacket就一定能保证收到的报文是齐的()就是说不需要调用NdistransferData函数)。 在报文的管理中,怎么这么麻烦:又是buffer,又是packet descriptor 又是 buffer的descriptor,为什么不能想普通的socket编程中用一个buffer就访问,干吗这么复杂? 在ndis中好像比较强调资源的所有权的问题,这是怎么回事? 另外最后一个问题:就是 在ndis中的oob 好像和tcp中带外数据不是一个概念吧。 NDIS中的oob是干什么用的。 以上问题希望高手能不厌其烦的解答,我实在太菜,研究MSDN好几天,这里以前的帖子也看了不少,就是搞不明白。希望大家不要说得太笼统,还有就是请不要出现诸如“请查看什么帖子的话” 谢谢大家了。另外小弟的水平实在菜,分数不敢一下大把大把的给大家,所以只能省点用了。对家不要见怪。谢谢。求求诸位回答一下吧? [编辑 - 10/28/03 by jasic2002] |
|
最新喜欢:zb_xi |
沙发#
发布于:2003-10-29 08:44
呵呵。
1。 headerbuffer 中是 以太网头。 用途, 你应该知道呀。 2。GetReceivePacket 其实不是 得到包, 而是判断 包中 有无 OOB 数据。 3。loolaheadbubbersize , 为什么要叫 lookahead 呢 ! 从它的英文字面也可以看出 它的作用了。 你说的关心没错, packetsize > lookaheadbuffersize时要调用 transferdata 4. 弄懂了第 3 个问题, 就知道了。 5。这肯定的, 因为要 涉及到 上下层的通信问题。 我说的上下层, 是指,NIDS IM 及上下层。 6 ,OOB 暑假, 和 TCP 中的 OOB 应该是同一个概念。 |
|
板凳#
发布于:2003-10-29 09:59
呵呵。 对 第2 个问题的 更正
GetReceivePacket 是 根据 有无 OOB 数据来 得包 的。 |
|
地板#
发布于:2003-10-29 16:39
还要问个问题,就是关于包结构的.
Packet中的的Private结构好像没有没定义。 我看Passthru中的Packet中直接访问他的成员变量,什么tail啊,head啊。能不能讲讲其中的奥秘。 |
|
地下室#
发布于:2003-10-29 17:21
呵呵 private 当然定义了呀。
在 ndis.h中。 |
|
5楼#
发布于:2003-10-29 18:14
在ptReceive函数中的headbuffer中存储的是什么内容?有什么用途? |
|
|