监听以太网(4) Packet32函数SDK
2010-07-11 20:44:40 来源:WEB开发网核心提示:Driver能够用一个读操作返回几个Packets,那么一次调用传递给应用程序的packet的数量,监听以太网(4) Packet32函数SDK(5),就只取决于传递给PacketReceivePacket()的_PACKET结构的buffer的大小了,因此用PacketInitPacket()初始化一块大缓冲区,保留
Driver能够用一个读操作返回几个Packets,那么一次调用传递给应用程序的packet的数量,就只取决于传递给PacketReceivePacket()的_PACKET结构的buffer的大小了。因此用PacketInitPacket()初始化一块大缓冲区,能够显著地减少系统调用,减少捕获进程在处理器上的影响。
No.8. PacketReceivePacket (读取数据)
从NPF driver上读取数据(Packets或者统计信息)。
BOOLEAN PacketReceivePacket(
LPADAPTER AdapterObject,
LPPACKET lpPacket,
BOOLEAN Sync
);
Parameters:
AdapterObject:
[in] 指向一个_ADAPTER结构的指针。
lpPacket:
[in , out] 放数据的_PACKET结构缓冲区。
Sync:
[in] 一个可以忽略的参数,保留它是为了向后兼容。
Return Values:
如果执行成功,返回一个非零值。
Usage:
C/C++ Usage Sample
LPADAPTER lpAdapter = 0;
LPPACKET lpPacket;
lpAdapter = PacketOpenAdapter(AdapterList[Open-1]);
lpPacket = PacketAllocatePacket();
PacketInitPacket(lpPacket,(char*)buffer,256000);
PacketReceivePacket(lpAdapter,lpPacket,TRUE);
[]
赞助商链接