IMFTimer::SetTimer 方法 (mfidl.h)
设置在指定时间调用回调的计时器。
语法
HRESULT SetTimer(
[in] DWORD dwFlags,
[in] LONGLONG llClockTime,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState,
[out] IUnknown **ppunkKey
);
parameters
[in] dwFlags
MFTIMER_FLAGS枚举中零个或多个标志的按位 OR。
[in] llClockTime
计时器应触发的时间,以时钟频率的单位为单位。 时间是绝对时间或相对于当前时间的时间,具体取决于 dwFlags 的值。
[in] pCallback
指向回调对象的 IMFAsyncCallback 接口的指针。 调用方必须实现此接口。 回调的 Invoke 方法是在 llClockTime 参数中指定的时间调用的。
[in] punkState
指向由调用方定义的状态对象的 IUnknown 接口的指针。 此参数可以为 NULL。 可以使用此对象来保存状态信息。 调用回调时,对象将返回到调用方。
[out] ppunkKey
接收指向取消对象的 IUnknown 接口的指针。 调用方必须释放接口。 若要取消计时器,请将此指针传递给 IMFTimer::CancelTimer 方法。 此参数可以为 NULL。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
时钟关闭了。 |
|
方法成功,但时钟已停止。 |
注解
如果时钟停止,该方法将返回MF_S_CLOCK_STOPPED。 在时钟启动之前,不会调用回调。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mfuuid.lib |