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。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_SHUTDOWN
时钟关闭了。
MF_S_CLOCK_STOPPED
方法成功,但时钟已停止。

注解

如果时钟停止,该方法将返回MF_S_CLOCK_STOPPED。 在时钟启动之前,不会调用回调。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 mfidl.h
Library Mfuuid.lib

另请参阅

IMFTimer