IKsInterfaceHandler::KsCompleteIo 方法 (ksproxy.h)
KsCompleteIo 方法會清除延伸標頭,並在輸入和輸出 (I/O) 完成之後釋放媒體範例。
HRESULT KsCompleteIo(
[in, out] PKSSTREAM_SEGMENT StreamSegment
);
[in, out] StreamSegment
KSSTREAM_SEGMENT 結構的指標,其中包含要完成之數據流區段的標頭資訊。
如果成功,則傳回 NOERROR;否則,會傳回錯誤碼。
KsCompleteIo 方法會捨棄配置的記憶體、更新媒體範例,以及遞減 Proxy 的等候項目計數。
KsCompleteIo 方法必須決定 IKsInterfaceHandler::KsProcessMediaSamples 方法從 IoOperation KSSTREAM_SEGMENT 結構成員完成的 I/O 作業類型。 如果 I/O 作業是從資料流讀取資料(KSIOOPERATION 列舉型別的KsIoOperation_Read),KsCompleteIo 會執行下列動作,將範例從輸出釘選傳遞到連接的輸入針腳:
- 反映 IMediaSample 介面中的數據流標頭資訊。
- 呼叫輸出釘選的 IKsPin::KsDeliver 方法來傳遞範例。 KsDeliver 釋放範例,以便在將緩衝區排入裝置佇列時,如果樣本是最後一個範例,就可以擷取範例。 輸入針腳接著會完成 I/O,並安全地釋放範例。
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | ksproxy.h (包括 Ksproxy.h) |