共用方式為


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)

另請參閱

IKsDataTypeHandler

IKsDataTypeHandler::KsQueryExtendedSize

KSSTREAM_SEGMENT