IReferenceClock::AdvisePeriodic 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 AdvisePeriodic
创建定期建议请求。
语法
HRESULT AdvisePeriodic(
[in] REFERENCE_TIME startTime,
[in] REFERENCE_TIME periodTime,
[in] HSEMAPHORE hSemaphore,
[out] DWORD_PTR *pdwAdviseCookie
);
参数
[in] startTime
第一个通知的时间,以 100 纳秒为单位。 必须大于零且小于 MAX_TIME。
[in] periodTime
通知间隔时间(以 100 纳秒为单位)。 必须大于零。
[in] hSemaphore
由调用方创建的信号灯的句柄。
[out] pdwAdviseCookie
指向接收建议请求标识符的变量的指针。
返回值
返回 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
时间值无效。 |
|
失败。 |
|
NULL 指针参数。 |
注解
在每次通知时,时钟都会释放 hSemaphore 参数中指定的信号灯 。 如果不需要其他通知,请调用 IReferenceClock::Unadvise 并传递从此调用返回的 pdwAdviseToken 值。
下面的代码示例创建一个建议请求,该请求从创建时起 5 秒发出信号,之后每隔一秒再次发出信号:
C++ |
---|
IReferenceClock *pRefClock = NULL;获取不) (IReferenceClock 指针。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |