IAsyncReader 接口 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
接口 IAsyncReader
对筛选器执行异步数据请求。
此接口由执行异步读取操作的输出引脚公开。 接口由下游筛选器上的输入引脚使用。 应用程序不使用此接口。 异步文件源筛选器在其输出引脚上公开此接口。
筛选器开发人员:如果输出引脚以字节流 (MEDIATYPE_Stream) 的形式提供数据并支持拉取模型,则实现此接口。 在连接过程中,检查下游引脚是否查询IAsyncReader
接口。 否则,引脚应使连接失败或建立一些其他传输。 (如果引脚派生自 CBasePin,请在 CBasePin::CheckConnect 方法中执行此检查。)
有关使用此接口的详细信息,请参阅以下主题:
继承
IAsyncReader 接口继承自 IUnknown 接口。 IAsyncReader 还具有以下类型的成员:
方法
IAsyncReader 接口具有这些方法。
IAsyncReader::BeginFlush BeginFlush 方法开始刷新操作。 (IAsyncReader.BeginFlush) |
IAsyncReader::EndFlush EndFlush 方法结束刷新操作。 (IAsyncReader.EndFlush) |
IAsyncReader::Length Length 方法检索流的总长度。 |
IAsyncReader::Request Request 方法对异步数据请求进行排队。 |
IAsyncReader::RequestAllocator RequestAllocator 方法在引脚连接期间请求分配器。 |
IAsyncReader::SyncRead SyncRead 方法执行同步读取。 方法将阻止,直到请求完成。 文件位置和缓冲区地址不必对齐。 如果请求不一致,方法将执行缓冲读取操作。 |
IAsyncReader::SyncReadAligned SyncReadAligned 方法执行同步读取。 方法将阻止,直到请求完成。 文件位置和缓冲区地址必须对齐;检查所需的对齐方式的分配器属性。 |
IAsyncReader::WaitForNext WaitForNext 方法等待下一个挂起的读取请求完成。 |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |