IKsInterfaceHandler::KsCompleteIo 方法 (ksproxy.h)

KsCompleteIo 方法清理扩展标头,并在输入输出 (I/O) 完成后释放媒体示例。

语法

HRESULT KsCompleteIo(
  [in, out] PKSSTREAM_SEGMENT StreamSegment
);

参数

[in, out] StreamSegment

指向 KSSTREAM_SEGMENT 结构的指针,该结构包含要完成的流段的标头信息。

返回值

如果成功,则返回 NOERROR;否则,将返回错误代码。

注解

KsCompleteIo 方法放弃分配的内存、更新媒体样本,并递减代理的等待项计数。

KsCompleteIo 方法必须确定 IKsInterfaceHandler::KsProcessMediaSamples 方法从 KSSTREAM_SEGMENT 结构的 IoOperation 成员完成的 I/O 操作的类型。 如果 I/O 操作从 KSIOOPERATION 枚举类型) 的流 (KsIoOperation_Read 读取数据, 则 KsCompleteIo 执行以下操作,将示例从输出引脚传递到连接的输入引脚:

  • 反映 IMediaSample 接口中的流标头信息。
  • 调用输出引脚的 IKsPin::KsDeliver 方法以传送示例。 KsDeliver 释放示例,以便在将缓冲区排队到设备时,如果它是最后一个样本,则可以检索该示例。 然后,输入引脚完成 I/O,可以安全地释放示例。
有关 IMediaSample 的详细信息,请参阅Microsoft Windows SDK文档。

要求

要求
目标平台 桌面
标头 ksproxy.h (包括 Ksproxy.h)

另请参阅

IKsInterfaceHandler::KsProcessMediaSamples

IKsPin::KsDeliver

KSSTREAM_SEGMENT