CRefTime 类

creftime class hierarchy

CRefTime 类是用于管理引用时间的帮助程序类。

引用时间是以 100 纳秒单位表示的时间单位。 此类与 REFERENCE_TIME 数据类型共享相同的数据布局,但添加了一些提供比较、转换和算术函数的方法和运算符。 有关参考时间的详细信息,请参阅DirectShow中的时间和时钟

公共成员变量 说明
m_time 指定 REFERENCE_TIME 值。
公共方法 说明
CRefTime 构造函数方法。
GetUnits 以 100 纳秒为单位检索引用时间。
米利塞克斯 将引用时间转换为毫秒。
运算符 说明
operator REFERENCE_TIME () 将对象强制转换为 REFERENCE_TIME 数据类型。
operator= 分配新的引用时间。
operator+= 添加两个引用时间。
operator = 从另一个引用时间减去一个引用时间。

注解

使用此类可能存在陷阱。 如果将具有 CRefTime 对象的 += 运算符作为左操作数应用,并将 LONG 类型的变量作为右操作数应用,编译器会将右操作数隐式强制转换为 CRefTime 对象。 此强制使用 CRefTime 构造函数,该构造函数将毫秒转换为REFERENCE_TIME单位;因此,右操作数乘以 10,000:

CRefTime rt;   // rt.m_time is 0.
LONG val = 20;
rt += val;    // Coerce val to CRefTime, rt.m_time is now 200,000.

但是,使用 + 运算符不会发生相同的操作:

CRefTime rt;   // rt.m_time is 0.
LONG val = 20;
rt = rt + val; // CRefTime, rt.m_time is 20.

要求

要求 Value
标头
Reftime.h (包括 Streams.h)

Strmbase.lib (零售版) ;
Strmbasd.lib (调试生成)