E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(10)
1.8 驱动程序中对应的函数接口在NPF中,提供了NPF_Write、NPF_BufferedWrite与NPF_IoControl函数,实现把数据包传递给NDIS层,最终调用NdisSend函数把数据包发送出去。1.8.1 发送单个数据包的接口实现1.8.1.1 NPF_Write函数库packet.dll的PacketSendPacket函数执行WriteFile
runhook
·
2010-09-06 14:27
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(10)
1.8 驱动程序中对应的函数接口在NPF中,提供了NPF_Write、NPF_BufferedWrite与NPF_IoControl函数,实现把数据包传递给NDIS层,最终调用NdisSend函数把数据包发送出去。1.8.1 发送单个数据包的接口实现1.8.1.1 NPF_Write函数库packet.dll的PacketSendPacket函数执行WriteFile
runhook
·
2010-09-06 14:27
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(9)
1.7.3.2 高分辨率计时器(High-ResolutionTimer)计数器是一个通用的术语,在编程用来指一个递增的变量。一些系统包含一个高分辨率的执行计数器,提供高分辨率的逝去时间。如果系统上存在一个高分辨率的执行计数器,就可以使用QueryPerformanceFrequency函数来表示频率,采用每秒多少个的形式表示。该计数器的值依赖于处理器。例如,在一些处理器上,计数可能就是处理器
runhook
·
2010-09-06 14:39
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(9)
1.7.3.2 高分辨率计时器(High-ResolutionTimer)计数器是一个通用的术语,在编程用来指一个递增的变量。一些系统包含一个高分辨率的执行计数器,提供高分辨率的逝去时间。如果系统上存在一个高分辨率的执行计数器,就可以使用QueryPerformanceFrequency函数来表示频率,采用每秒多少个的形式表示。该计数器的值依赖于处理器。例如,在一些处理器上,计数可能就是处理器
runhook
·
2010-09-06 14:39
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(8)
1.7.3 发送队列方式的接口实现1.7.3.1 PacketSendPackets函数函数发送数据包队列到网络,函数原型如下:INTPacketSendPackets(LPADAPTERAdapterObject,PVOIDPacketBuff,ULONGSize,BOOLEANSync)参数AdapterObject指向一个_ADAPTER结构体,该结构体表示将发送数
runhook
·
2010-09-06 14:12
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(8)
1.7.3 发送队列方式的接口实现1.7.3.1 PacketSendPackets函数函数发送数据包队列到网络,函数原型如下:INTPacketSendPackets(LPADAPTERAdapterObject,PVOIDPacketBuff,ULONGSize,BOOLEANSync)参数AdapterObject指向一个_ADAPTER结构体,该结构体表示将发送数
runhook
·
2010-09-06 14:12
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(7)
因为该原因,
WinPcap
添加了使用一次写系统调用就能把单个数据包发送多次的功能。用户层应用程序能够设置单个数据包发送的次数,例如设为1000,那么应用程序所写的每个原始数据包在驱动设备文件上都将会发
runhook
·
2010-09-06 14:31
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(7)
因为该原因,
WinPcap
添加了使用一次写系统调用就能把单个数据包发送多次的功能。用户层应用程序能够设置单个数据包发送的次数,例如设为1000,那么应用程序所写的每个原始数据包在驱动设备文件上都将会发
runhook
·
2010-09-06 14:31
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(6)
1.7 packet.dll对应得函数接口 packet.dll主要依赖于操作系统的系统调用WriteFile、DeviceIoControl实现单个数据包发送与发送队列方式的发送。下面分析packet.dll中相应函数的内部实现。1.7.1 发送单个数据包的接口实现首先了解_PACKET结构体的定义,它提供了单个数据包发送的基本数据结构。结构体_PACKET在Common\Packe
runhook
·
2010-09-06 14:04
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(6)
1.7 packet.dll对应得函数接口 packet.dll主要依赖于操作系统的系统调用WriteFile、DeviceIoControl实现单个数据包发送与发送队列方式的发送。下面分析packet.dll中相应函数的内部实现。1.7.1 发送单个数据包的接口实现首先了解_PACKET结构体的定义,它提供了单个数据包发送的基本数据结构。结构体_PACKET在Common\Packe
runhook
·
2010-09-06 14:04
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(5)
1.6.2 发送队列方式的接口实现在下列两种发送方式都不适用的情况下:Ø应用软件每次发送一个数据包一次;Ø应用软件每次发送一个数据包大于一次,次数预先设定;为了能够发送大量的数据包,
WinPcap
提供了基于发送队列发送的方式
runhook
·
2010-09-06 14:28
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(5)
1.6.2 发送队列方式的接口实现在下列两种发送方式都不适用的情况下:Ø应用软件每次发送一个数据包一次;Ø应用软件每次发送一个数据包大于一次,次数预先设定;为了能够发送大量的数据包,
WinPcap
提供了基于发送队列发送的方式
runhook
·
2010-09-06 14:28
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(4)
1.6 wpcap.dll中相应函数接口的实现wpcap.dll主要依赖于packet.dll导出的PacketSendPacket函数与PacketSendPackets函数分别实现单个数据包发送与发送队列方式的发送。下面分析wpcap.dll中相应函数的内部实现。1.6.1 发送单个数据包的接口实现1.6.1.1 pcap_sendpacket函数每调用一次函数
runhook
·
2010-09-06 14:41
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(4)
1.6 wpcap.dll中相应函数接口的实现wpcap.dll主要依赖于packet.dll导出的PacketSendPacket函数与PacketSendPackets函数分别实现单个数据包发送与发送队列方式的发送。下面分析wpcap.dll中相应函数的内部实现。1.6.1 发送单个数据包的接口实现1.6.1.1 pcap_sendpacket函数每调用一次函数
runhook
·
2010-09-06 14:41
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(3)
1.5 使用发送队列发送数据包的示例(非同步方式)我们采用实际代码演示如何通过pcap_sendqueue_transmit函数以非同步方式发送大量数据包。只需要在[send_queue工程]的send_queue函数中作如下修改即可:voidsend_queue(pcap_t*fp,unsignedintnpacks,unsignedintdus){…//if((res=pcap_sen
runhook
·
2010-09-06 08:56
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(3)
1.5 使用发送队列发送数据包的示例(非同步方式)我们采用实际代码演示如何通过pcap_sendqueue_transmit函数以非同步方式发送大量数据包。只需要在[send_queue工程]的send_queue函数中作如下修改即可:voidsend_queue(pcap_t*fp,unsignedintnpacks,unsignedintdus){…//if((res=pcap_sen
runhook
·
2010-09-06 08:56
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(2)
1.3 重复发送单个数据包的示例我们采用实际代码演示如何重复发送单个数据包。在send工程的main.cpp添加下面的代码:[send_n工程]#include /*调用Packet.dll库提供的PacketSetNumWrites函数设置重复发送次数*///重复50次PacketSetNumWrites((LPADAPTER)(adhandle->adapter),50);同时给Lin
runhook
·
2010-09-06 08:19
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(2)
1.3 重复发送单个数据包的示例我们采用实际代码演示如何重复发送单个数据包。在send工程的main.cpp添加下面的代码:[send_n工程]#include /*调用Packet.dll库提供的PacketSetNumWrites函数设置重复发送次数*///重复50次PacketSetNumWrites((LPADAPTER)(adhandle->adapter),50);同时给Lin
runhook
·
2010-09-06 08:19
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(1)
NPF允许把原始数据包发送到网络上,而且针对不同的应用提供了下列四种发送方式:n 应用软件每次发送一个数据包一次;n 应用软件每次发送一个数据包大于一次,次数预先设定;n 应用软件每次发送一个数据包队列,并根据时间戳发送各数据包;n 应用软件每次发送一个数据包队列,不根据时间戳,而是尽所能得快速发送各数据包;数据包被发送到网络时,NPF并不对
runhook
·
2010-09-06 08:25
职场
休闲
winpcap
深度剖析
WinPcap
之(九)――数据包的发送过程(1)
NPF允许把原始数据包发送到网络上,而且针对不同的应用提供了下列四种发送方式:n 应用软件每次发送一个数据包一次;n 应用软件每次发送一个数据包大于一次,次数预先设定;n 应用软件每次发送一个数据包队列,并根据时间戳发送各数据包;n 应用软件每次发送一个数据包队列,不根据时间戳,而是尽所能得快速发送各数据包;数据包被发送到网络时,NPF并不对
runhook
·
2010-09-06 08:25
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(26)(完)
/*#define BIOCSETBUFFERSIZE9592该IOCTL命令码用来设置内核缓冲区大小。该IOCTL用来设置一个NPF实例的循环缓冲区的大小,当接收到一个BIOCSETBUFFERSIZE命令时,驱动程序释放老的缓冲区,分配一个新的缓冲区,并在OPEN_INSTANCE结构体中复位与该缓冲区相关的所有参数。当前缓冲的所有数据包都被丢弃。*/caseBIOCSETBUFFERSIZ
runhook
·
2010-09-05 22:20
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(26)(完)
/*#define BIOCSETBUFFERSIZE9592该IOCTL命令码用来设置内核缓冲区大小。该IOCTL用来设置一个NPF实例的循环缓冲区的大小,当接收到一个BIOCSETBUFFERSIZE命令时,驱动程序释放老的缓冲区,分配一个新的缓冲区,并在OPEN_INSTANCE结构体中复位与该缓冲区相关的所有参数。当前缓冲的所有数据包都被丢弃。*/caseBIOCSETBUFFERSIZ
runhook
·
2010-09-05 22:20
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(25)
1.6.5 NPF_Close函数当一个正在运行的驱动程序实例被用户调用CloseHandle()关闭时,该函数被调用(响应IRP_MJ_CLEANUP)。函数主要代码如下:NTSTATUSNPF_Close(INPDEVICE_OBJECTDeviceObject,INPIRPIrp){ Irp->IoStatus.Status=STATUS_SUCCESS; Irp->IoStat
runhook
·
2010-09-05 22:31
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(25)
1.6.5 NPF_Close函数当一个正在运行的驱动程序实例被用户调用CloseHandle()关闭时,该函数被调用(响应IRP_MJ_CLEANUP)。函数主要代码如下:NTSTATUSNPF_Close(INPDEVICE_OBJECTDeviceObject,INPIRPIrp){ Irp->IoStatus.Status=STATUS_SUCCESS; Irp->IoStat
runhook
·
2010-09-05 22:31
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(24)
1.6.4.1 NPF_CloseBinding函数函数主要释放调用NdisOpenAdapter所建立的绑定与分配的资源。函数代码实现如下:VOIDNPF_CloseBinding(INPOPEN_INSTANCEpOpen){ NDIS_EVENTEvent; NDIS_STATUSStatus; ASSERT(pOpen!=NULL); ASSERT(KeGet
runhook
·
2010-09-05 22:52
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(24)
1.6.4.1 NPF_CloseBinding函数函数主要释放调用NdisOpenAdapter所建立的绑定与分配的资源。函数代码实现如下:VOIDNPF_CloseBinding(INPOPEN_INSTANCEpOpen){ NDIS_EVENTEvent; NDIS_STATUSStatus; ASSERT(pOpen!=NULL); ASSERT(KeGet
runhook
·
2010-09-05 22:52
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(23)
1.6.4 NPF_Cleanup函数函数关闭一个驱动程序实例,当一个正在运行的驱动程序实例被用户调用CloseHandle()关闭时,该函数被调用(响应IRP_MJ_CLOSE)。它停止捕获/监视/转储过程,在NPF_CloseBinding函数种调用NdisCloseAdapter函数关闭网络适配器。接着调用NPF_CloseOpenInstance函数释放与该实例相关的内存与资源。
runhook
·
2010-09-05 22:00
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(23)
1.6.4 NPF_Cleanup函数函数关闭一个驱动程序实例,当一个正在运行的驱动程序实例被用户调用CloseHandle()关闭时,该函数被调用(响应IRP_MJ_CLOSE)。它停止捕获/监视/转储过程,在NPF_CloseBinding函数种调用NdisCloseAdapter函数关闭网络适配器。接着调用NPF_CloseOpenInstance函数释放与该实例相关的内存与资源。
runhook
·
2010-09-05 22:00
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(22)
1.6.3.3NPF_RequestComplete函数函数结束一个OID请求,是NDIS函数NdisRequest所关联的回调函数。当NIC驱动程序完成一个OID请求操作(如在NPF_GetDeviceMTU或NPF_IoControl中调用NdisRequest开始请求操作)后被NDIS调用。函数原型如下:VOIDNPF_RequestComplete( INNDIS_HANDLE Pr
runhook
·
2010-09-05 22:21
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(22)
1.6.3.3NPF_RequestComplete函数函数结束一个OID请求,是NDIS函数NdisRequest所关联的回调函数。当NIC驱动程序完成一个OID请求操作(如在NPF_GetDeviceMTU或NPF_IoControl中调用NdisRequest开始请求操作)后被NDIS调用。函数原型如下:VOIDNPF_RequestComplete( INNDIS_HANDLE Pr
runhook
·
2010-09-05 22:21
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(21)
1.6.3.2 NPF_GetDeviceMTU函数函数获得最大传输单元(MTU),主要调用NdisRequest函数实现。对于各种错误情况,假设为以太网,假设为MTU为1514个字节长度。函数代码如下:NTSTATUSNPF_GetDeviceMTU( INPOPEN_INSTANCEpOpen, INPIRPpIrp,
runhook
·
2010-09-05 22:52
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(21)
1.6.3.2 NPF_GetDeviceMTU函数函数获得最大传输单元(MTU),主要调用NdisRequest函数实现。对于各种错误情况,假设为以太网,假设为MTU为1514个字节长度。函数代码如下:NTSTATUSNPF_GetDeviceMTU( INPOPEN_INSTANCEpOpen, INPIRPpIrp,
runhook
·
2010-09-05 22:52
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(20)
1.6.3.1 NPF_OpenAdapterComplete函数该函数结束一个适配器的打开,是NDIS函数NdisOpenAdapter所关联的回调函数。当NIC驱动程序完成一个打开操作(在NPF_Open中调用NdisOpenAdapter启动打开操作)后被NDIS调用。函数原型如下:VOIDNPF_OpenAdapterComplete( INNDIS_HANDLE Prot
runhook
·
2010-09-05 22:06
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(20)
1.6.3.1 NPF_OpenAdapterComplete函数该函数结束一个适配器的打开,是NDIS函数NdisOpenAdapter所关联的回调函数。当NIC驱动程序完成一个打开操作(在NPF_Open中调用NdisOpenAdapter启动打开操作)后被NDIS调用。函数原型如下:VOIDNPF_OpenAdapterComplete( INNDIS_HANDLE Prot
runhook
·
2010-09-05 22:06
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(19)
/*如果成功,则给全局记录打开实例的计数器原子操作加一,然后获取设备的最大MTU*/ if(returnStatus==STATUS_SUCCESS) {//完成打开网络设备 ULONGlocalNumOpenedInstances; //给全局记录打开实例的计数器原子操作加一localNumOpenedInstances=InterlockedIncremen
runhook
·
2010-09-05 22:44
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(19)
/*如果成功,则给全局记录打开实例的计数器原子操作加一,然后获取设备的最大MTU*/ if(returnStatus==STATUS_SUCCESS) {//完成打开网络设备 ULONGlocalNumOpenedInstances; //给全局记录打开实例的计数器原子操作加一localNumOpenedInstances=InterlockedIncremen
runhook
·
2010-09-05 22:39
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(18)
1.6.3 NPF_open函数函数NPF_Open打开驱动的一个新实例。函数原型如下:NTSTATUSNPF_Open(INPDEVICE_OBJECTDeviceObject,INPIRPIrp);参数DeviceObject指向用户所使用的设备对象,参数Irp指向用户所请求的IRP.函数返回操作的状态,参见DDK的ntstatus.h文件了解状态值的定义。当用户的应用程序,在NPF
runhook
·
2010-09-05 22:29
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(18)
1.6.3 NPF_open函数函数NPF_Open打开驱动的一个新实例。函数原型如下:NTSTATUSNPF_Open(INPDEVICE_OBJECTDeviceObject,INPIRPIrp);参数DeviceObject指向用户所使用的设备对象,参数Irp指向用户所请求的IRP.函数返回操作的状态,参见DDK的ntstatus.h文件了解状态值的定义。当用户的应用程序,在NPF
runhook
·
2010-09-05 22:29
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(17)
1.6 NPF中对应的函数接口1.6.1 关键结构体_OPEN_INSTANCE结构体_OPEN_INSTANCE包含NPF驱动程序一个运行实例的状态;这是NPF最重要的结构体:它被几乎所有驱动程序的函数使用;一个_OPEN_INSTANCE结构体与每个用户层会话关联,并允许对该驱动程序的并发访问。结构体的具体定义如下:typedefstruct_OPEN_INSTANCE{
runhook
·
2010-09-05 22:19
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(17)
1.6 NPF中对应的函数接口1.6.1 关键结构体_OPEN_INSTANCE结构体_OPEN_INSTANCE包含NPF驱动程序一个运行实例的状态;这是NPF最重要的结构体:它被几乎所有驱动程序的函数使用;一个_OPEN_INSTANCE结构体与每个用户层会话关联,并允许对该驱动程序的并发访问。结构体的具体定义如下:typedefstruct_OPEN_INSTANCE{
runhook
·
2010-09-05 22:19
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(16)
1.5.3 PacketSetLoopbackBehavior函数函数PacketSetLoopbackBehavior设置NPF驱动程序对回环数据的处理方式:捕获还是丢弃。函数原型如下:BOOLEANPacketSetLoopbackBehavior(LPADAPTER AdapterObject,UINTLoopbackBehavior)参数AdapterObject是一个指向一个
runhook
·
2010-09-05 21:58
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(16)
1.5.3 PacketSetLoopbackBehavior函数函数PacketSetLoopbackBehavior设置NPF驱动程序对回环数据的处理方式:捕获还是丢弃。函数原型如下:BOOLEANPacketSetLoopbackBehavior(LPADAPTER AdapterObject,UINTLoopbackBehavior)参数AdapterObject是一个指向一个
runhook
·
2010-09-05 21:58
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(15)
1.5.2.1.7 PacketSetMinToCopy函数函数PacketSetMinToCopy定义最少字节数,对适配器执行一次读操作时,内核缓冲区中数据要求达该字节数后,读操作才可返回。函数原型如下:BOOLEANPacketSetMinToCopy(LPADAPTERAdapterObject,intnbytes);参数AdapterObject是一个指向一个_ADAPTER结构体的指
runhook
·
2010-09-05 21:20
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(14)
1.5.2.1.5 PacketSetBuff函数函数PacketSetBuff设置一个与捕获关联的内核缓冲区的大小。函数原型如下:BOOLEANPacketSetBuff(LPADAPTERAdapterObject,intdim);参数AdapterObject指向一个_ADAPTER结构体,参数dim是缓冲区新的大小,采用千字节为单位。函数如果成功,返回TRUE,如果没有足够的内存分
runhook
·
2010-09-05 21:58
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(13)
1.5.2.1.4 PacketAllocatePacket与PacketFreePacket函数函数PacketAllocatePacket分配一个_ADAPTER结构体内存空间,函数原型如下:LPPACKETPacketAllocatePacket(void)函数成功就放回所指向所分配的_ADAPTER结构体指针。函数主要由下面的代码实现:lpPacket=(LPPACKET)Glob
runhook
·
2010-09-05 21:10
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(13)
1.5.2.1.4 PacketAllocatePacket与PacketFreePacket函数函数PacketAllocatePacket分配一个_ADAPTER结构体内存空间,函数原型如下:LPPACKETPacketAllocatePacket(void)函数成功就放回所指向所分配的_ADAPTER结构体指针。函数主要由下面的代码实现:lpPacket=(LPPACKET)Glob
runhook
·
2010-09-05 21:10
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(12)
1.5.2.1.2 PacketGetNetType函数函数PacketGetNetType返回一个适配器的MAC类型的信息。函数原型如下BOOLEANPacketGetNetType(LPADAPTERAdapterObject,NetType*type);参数AdapterObject为需要获取信息的适配器。参数type指向一个NetType结构体,将被函数填充。如果函数成功,返回非0值
runhook
·
2010-09-05 21:42
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(12)
1.5.2.1.2 PacketGetNetType函数函数PacketGetNetType返回一个适配器的MAC类型的信息。函数原型如下BOOLEANPacketGetNetType(LPADAPTERAdapterObject,NetType*type);参数AdapterObject为需要获取信息的适配器。参数type指向一个NetType结构体,将被函数填充。如果函数成功,返回非0值
runhook
·
2010-09-05 21:42
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(11)
1.5.2.1.1.2 PacketSetReadEvt函数函数PacketSetReadEvt分配与捕获实例相关联的读事件信号,并把它传递给内核驱动程序,并存储在一个_ADAPTER结构体中。函数原型如下:BOOLEANPacketSetReadEvt(LPADAPTERAdapterObject);参数AdapterObject指向一个适配器。如果函数成功,返回非0值, BOOLEANPack
runhook
·
2010-09-05 21:25
职场
休闲
winpcap
深度剖析
WinPcap
之(八)――打开与关闭适配器(11)
1.5.2.1.1.2 PacketSetReadEvt函数函数PacketSetReadEvt分配与捕获实例相关联的读事件信号,并把它传递给内核驱动程序,并存储在一个_ADAPTER结构体中。函数原型如下:BOOLEANPacketSetReadEvt(LPADAPTERAdapterObject);参数AdapterObject指向一个适配器。如果函数成功,返回非0值, BOOLEANPack
runhook
·
2010-09-05 21:25
职场
休闲
winpcap
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他