深度剖析WinPcap之(九)——数据包的发送过程(9)
来源:互联网 发布:淘宝店铺显示金牌卖家 编辑:程序博客网 时间:2024/06/07 12:16
本文转自http://eslxf.blog.51cto.com/918801/214882
1.7.3.2 高分辨率计时器(High-Resolution Timer)
计数器是一个通用的术语,在编程用来指一个递增的变量。一些系统包含一个高分辨率的执行计数器,提供高分辨率的逝去时间。如果系统上存在一个高分辨率的执行计数器,就可以使用QueryPerformanceFrequency函数来表示频率,采用每秒多少个的形式表示。该计数器的值依赖于处理器。例如,在一些处理器上,计数可能就是处理器时钟的周期。
函数QueryPerformanceCounter获得高分辨率执行计数器的当前值。通过在代码的起始与结束处调用该函数,一个应用程序在本质上使用该计数器作为一个高分辨率的计时器。比如,假设QueryPerformanceFrequency函数指明高分辨率执行计数器的频率是50,000个每秒。如果在需计时的应用程序代码块之前与之后直接调用QueryPerformanceCounter函数,计数值可能分别为1500与3500。这些值说明这段代码逝去了0.04秒(2000个计数,2000除以50,000)。
QueryPerformanceCounter函数
函数QueryPerformanceCounter获得高分辨率执行计数器的当前值,函数原型如下:
BOOL QueryPerformanceCounter(
LARGE_INTEGER *lpPerformanceCount
);
参数lpPerformanceCount指向一个接受执行计数器当前值的变量,用个数表示。
如果函数成功返回非0值。如果函数失败,返回0值。
QueryPerformanceFrequency函数
如果存在一个高分辨率执行计数器,函数返回计数器的频率。当系统正在运行时该频率不会改变。函数原型如下:
BOOL QueryPerformanceFrequency(
LARGE_INTEGER *lpFrequency
);
参数lpFrequency 指向一个接受当前执行计数器频率的变量,用个数每秒的形式表示。如果安转的硬件不支持一个分辨率执行计数器,该参数可能为0。
如果安转的硬件支持一个分辨率执行计数器,返回值为一个非0值。如果函数失败,返回0值。如果安转的硬件不支持一个分辨率执行计数器,该函数失败。
- 深度剖析WinPcap之(九)——数据包的发送过程(9)
- 深度剖析WinPcap之(九)——数据包的发送过程(1)
- 深度剖析WinPcap之(九)——数据包的发送过程(2)
- 深度剖析WinPcap之(九)——数据包的发送过程(3)
- 深度剖析WinPcap之(九)——数据包的发送过程(4)
- 深度剖析WinPcap之(九)——数据包的发送过程(5)
- 深度剖析WinPcap之(九)——数据包的发送过程(6)
- 深度剖析WinPcap之(九)——数据包的发送过程(7)
- 深度剖析WinPcap之(九)——数据包的发送过程(8)
- 深度剖析WinPcap之(九)——数据包的发送过程(10)
- 深度剖析WinPcap之(九)——数据包的发送过程(11)
- 深度剖析WinPcap之(九)——数据包的发送过程(12)
- 深度剖析WinPcap之(九)——数据包的发送过程(13)
- 深度剖析WinPcap之(九)——数据包的发送过程(13-2)
- 深度剖析WinPcap之(九)——数据包的发送过程(14)(完)
- 深度剖析WinPcap之(十)——数据包的内核过滤(9)
- 深度剖析WinPcap之(十)——数据包的内核过滤(1)
- 深度剖析WinPcap之(十)——数据包的内核过滤(2)
- 深度剖析WinPcap之(九)——数据包的发送过程(7)
- 深度剖析WinPcap之(九)——数据包的发送过程(8)
- 屏蔽lephone在模拟器上的烦人Exception
- 质量体系建立的步骤
- sql isnull
- 深度剖析WinPcap之(九)——数据包的发送过程(9)
- Eclipse快捷键大全(转载)
- javacript中的引用
- OpenUrl(全文转载学习用)
- vsftpd 虚拟用户 多用户不同权限管理
- 创建网站快捷方式
- pthread_join
- 深度剖析WinPcap之(九)——数据包的发送过程(10)
- vsftpd虚拟用户 权限配置