IAMStreamControl::StartAt 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 StartAt
通知引脚何时开始传送数据。
语法
HRESULT StartAt(
[in] const REFERENCE_TIME *ptStart,
[in] DWORD dwCookie
);
参数
[in] ptStart
指向 REFERENCE_TIME 值的指针,该值指定引脚应何时开始传送数据。 如果值为 MAXLONGLONG (0x7FFFFFFFFFFFFFFF) ,该方法将取消上一个启动请求。 如果 psStart 为 NULL,则图钉会在图形运行时立即启动。
对于预览引脚,只有 NULL 和 MAXLONGLONG 值才有效,因为预览引脚不会为其提供的示例加时间戳。
[in] dwCookie
指定要随开始通知一起发送的值。 请参阅“备注”。
返回值
如果该方法成功,则返回值S_OK。 否则, 返回指示失败原因的 HRESULT 值。
注解
默认情况下,一旦筛选器图运行,引脚就会提供数据。 方法 StartAt
使图钉等待图形运行后的指定时间,然后引脚开始传送数据。
如果 dwCookie 参数为非零,则引脚将在开始传送数据时发送 EC_STREAM_CONTROL_STARTED 事件。 第一个事件参数是指向引脚 的 IPin 接口的指针,第二个参数是 dwCookie 的值。
此方法实现以下特殊情况:
- 如果 ptStart 为 NULL,则图一运行,引脚就会启动。 不发送任何事件,并且忽略 dwCookie 的值。
- 如果 ptStart 包含值 MAXLONGLONG,并且存在挂起的停止请求,则图中将启动引脚。 如果没有挂起的停止请求,则引脚将保持停止状态。 在任一情况下,均不发送启动事件,并忽略 dwCookie 的值。
- 如果开始时间介于样本的开始和停止时间之间,则引脚将提供该样本。
- 如果开始时间等于停止时间,则引脚会提供一个样本。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |