gpt4 book ai didi

c++ - IAsyncReader::SyncRead 方法

转载 作者:可可西里 更新时间:2023-11-01 11:23:35 26 4
gpt4 key购买 nike

如果签名是,我如何解释返回 S_FALSE(“我可以读取一些但不是您请求的所有数据”)的“填充我的缓冲区请求”:

HRESULT SyncRead(LONGLONG llPosition, LONG     lLength, BYTE     *pBuffer);

具体来说,当接口(interface)返回S_FALSE时,缓冲区有多少字节有效?

我需要知道,对吗?也许我是愚蠢的,但我没有看到。

最佳答案

IAsyncReader::SyncRead 是同步读取的快捷方式,无需考虑数据对齐。优化良好的过滤器通常执行 RequestWaitForNext 异步读取,使用附加到这些样本的实际数据长度的媒体样本传输数据。在这种快捷方法中,他们似乎使事情变得更容易,但只是丢失了输出参数。

好消息是你可以抢source code of the filter (或者它的近亲,因为自从源代码作为示例发布以来,股票过滤器可能已经发生了一些变化)并通过添加例如扩展过滤器IAsyncReader2::SyncReadEx 在需要时返回丢失的值。

关于c++ - IAsyncReader::SyncRead 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52337396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com