ISampleGrabber::SetCallback 方法
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
注意
[已弃用。 此 API 可能会从 Windows 的未来版本中删除。]
SetCallback 方法指定要对传入示例调用的回调方法。
语法
HRESULT SetCallback(
ISampleGrabberCB *pCallback,
long WhichMethodToCallback
);
参数
-
pCallback
-
指向包含回调方法的 ISampleGrabberCB 接口的指针,或 NULL 用于取消回调。
-
WhichMethodToCallback
-
指定回调方法的索引。 必须是以下值之一。
值 说明 0 Sample Grabber 筛选器调用 ISampleGrabberCB::SampleCB 方法。 此方法接收 IMediaSample 指针。 1 示例抓取器筛选器调用 ISampleGrabberCB::BufferCB 方法。 此方法接收指向媒体示例中包含的缓冲区的指针。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
备注
数据处理线程会阻止,直到回调方法返回。 如果回调不快速返回,可能会干扰播放。
对于预生成样本或AM_SAMPLE2_PROPERTIES结构的dwStreamId 成员不是AM_STREAM_MEDIA的示例,筛选器不会调用回调函数。
注意
头文件 Qedit.h 与版本 7 之后的 Direct3D 标头不兼容。
注意
若要获取 Qedit.h,请下载适用于 Windows Vista 和 .NET Framework 3.0 的Microsoft Windows SDK更新。 Qedit.h 在 Windows 7 和 .NET Framework 3.5 Service Pack 1 的Microsoft Windows SDK中不可用。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅