Packet32 包中的函数及数据说明 数据结构:_ADAPTER(关于Netw ork Adapter 的) typedef struct _ADAPTER { HANDLE hFile; // 一个打开的NPF driver 实例的句柄: CHAR SymbolicLink[MAX_LINK_NAME_LENGTH]; // 当前打开的网卡的名字: int NumWrites; // 在这块Adapter 上,一个数据包被写的次数: HANDLE ReadEvent; /* 这块Adapter 上的read 操作的通知事件
它可以被传递给标准 Win32 函数(如 WaitForSingleObject 或者 WaitForMultipleObjects),这样可以等待到 driver 的缓冲区内有数据到来
在同时等待几个事件的GUI 程序中,它特别有用
在Windows2000/XP 中,函数PacketSetMinToCopy()可以用来设置内核缓冲区中激发本事件的最小数据大小:*/ UINT ReadTimeOut; // 设置一个时间,到时候,即使没有捕获任何包,read 操作也会被释放,ReadEvent 也会被触发: } ADAPTER, *LPADAPTER; 数据结构:_PACKET(关于Packet 的) typedef struct _PACKET { HANDLE hEvent; // 向后兼容用的: OVERLAPPED OverLapped; // 向后兼容用的: PVOID Buffer; // 存放 Packets 的缓冲区: UINT Length; // 缓冲区的大小: DWORD ulBytesReceived; // 当前缓 冲 区 中有 效 的字节 数,如 ,上一次调 用PacketReceivePacket()函数接收到的字节数