IMFHttpDownloadRequest::EndReadPayload 方法 (mfidl.h)
由 Microsoft Media Foundation 调用以完成 由 BeginReadPayload 启动的异步操作。 此方法成功完成后,有效负载数据将写入媒体基础在调用 BeginReadPayload 时提供的缓冲区。
语法
HRESULT EndReadPayload(
[in] IMFAsyncResult *pResult,
[out] QWORD *pqwOffset,
[out] ULONG *pcbRead
);
参数
[in] pResult
指向 IMFAsyncResult 接口的 指针。 Microsoft Media Foundation 将传入其回调对象在 IMFAsyncCallback::Invoke 方法中收到的同一指针。
[out] pqwOffset
写入缓冲区的第一个字节相对于当前 HTTP 请求的完整消息正文的偏移量。 例如,当媒体基础首次在给定的 IMFHttpDownloadRequest 上调用 BeginReadPayload,并将缓冲区大小指定为 100 时,pqwOffset 参数将设置为 0。 然后,当 Media Foundation 在同一 IMNFHttpDownloadRequest 上第二次调用 BeginReadPayload 时,pqwOffset 参数将设置为 100。
[out] pcbRead
指定在调用 BeginReadPayload 时媒体基础提供的写入缓冲区的字节数。 请注意,此值必须始终等于 BeginReadPayload 中指定的缓冲区的大小,除非请求失败,或者已到达消息正文的末尾。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
已成功将数据写入 BeginReadPayload 中提供的缓冲区。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10版本 1703 [仅限桌面应用] |
最低受支持的服务器 | 无受支持的版本 |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mfplat.lib;Mfplat.dll |