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。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
已成功将数据写入 BeginReadPayload 中提供的缓冲区。

要求

要求
最低受支持的客户端 Windows 10版本 1703 [仅限桌面应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 mfidl.h
Library Mfplat.lib;Mfplat.dll

另请参阅

IMFHttpDownloadRequest