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