IAsyncReader::SyncRead 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 SyncRead
执行同步读取。 方法将阻止,直到请求完成。 文件位置和缓冲区地址不必对齐。 如果请求不一致,方法将执行缓冲读取操作。
语法
HRESULT SyncRead(
[in] LONGLONG llPosition,
[in] LONG lLength,
[out] BYTE *pBuffer
);
参数
[in] llPosition
指定开始读取的字节偏移量。 如果此值超出文件末尾,方法将失败。
[in] lLength
指定要读取的字节数。
[out] pBuffer
指向接收数据的缓冲区的指针。
返回值
返回 HRESULT 值。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
检索的字节数少于请求的字节数。 (可能已到达文件的末尾。) |
|
成功。 |
注解
即使筛选器已停止,此方法也有效。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |