IKsInterfaceHandler::KsProcessMediaSamples 方法 (ksproxy.h)
KsProcessMediaSamples 方法會處理媒體範例。
語法
HRESULT KsProcessMediaSamples(
[in] IKsDataTypeHandler *KsDataTypeHandler,
[in] IMediaSample **SampleList,
[in, out] PLONG SampleCount,
[in] KSIOOPERATION IoOperation,
[out] PKSSTREAM_SEGMENT *StreamSegment
);
參數
[in] KsDataTypeHandler
IKsDataTypeHandler 介面的指標,此介面會處理 sampleList 上所列的媒體類型。 此數據類型處理程式具有所要串流之媒體類型的特定資訊。
[in] SampleList
緩衝區的指標,其中包含要處理之媒體範例清單之 IMediaSample 介面的指標數位。
[in, out] SampleCount
變數的指標,該變數一開始包含清單中 SampleList 中的樣本數目,,並傳回時接收處理的實際樣本數目。
[in] IoOperation
指定 I/O 作業類型的值。 這個值可以是 KSIOOPERATION 列舉類型的下列其中一個值:
價值 | 描述 |
---|---|
KsIoOperation_Write | 將數據寫入數據流。 |
KsIoOperation_Read | 從數據流讀取數據。 |
[out] StreamSegment
緩衝區的指標,接收 KSSTREAM_SEGMENT 結構的指標,其中包含傳送至內核模式釘選之數據流區段的標頭資訊。
傳回值
如果成功,則傳回 NOERROR;否則,會傳回錯誤碼。
言論
KsProcessMediaSamples 方法會將樣本從 或 移至先前指派的篩選針腳。 數據流標頭會初始化為表示數據流區段中的每個媒體範例。 接著會執行輸入和輸出 (I/O),等候項目計數會遞增,Proxy I/O 線程會等候完成。
KsProcessMediaSamples 方法會呼叫所接收 IKsDataTypeHandler 介面的 KsQueryExtendedSize 方法,以擷取擴充標頭的大小。 如果未指定擴充標頭大小,KsProcessMediaSamples 會捨棄 IKsDataTypeHandler 介面的指標。 如果指定擴充標頭大小,KsProcessMediaSamples 會保留 IKsDataTypeHandler 介面的指標,直到處理媒體範例完成為止。 KsProcessMediaSamples 方法接著會配置具有適當標頭大小的數據流標頭。 針對每個媒體範例,KsProcessMediaSamples 初始化標頭、複製數據指標、設定時間戳等等。 然後,每個範例都會新增至範例清單。 如果是寫入作業,範例會藉由遞增參考計數來保存。
如需 IMediaSample的詳細資訊,請參閱 Microsoft Windows SDK 檔。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | ksproxy.h (包括 Ksproxy.h) |