串流指標簡介

在較舊的資料流程類別模型中,minidriver 負責維護自己的資料流程要求區塊, (SRB) 佇列。 AVStream 透過資料流程指標抽象概念提供這項功能。 資料流程指標是特定 AVStream 資料框架的參考。

使用 針腳為中心的處理 迷你驅動程式 (大部分的硬體驅動程式) ,請使用串流指標來管理針腳佇列。 每個針腳都有獨立的資料緩衝區佇列。 當資料封包抵達釘選 (讀取或寫入要求) 時,AVStream 會將封包新增至佇列,而且可能會呼叫針腳的進程分派。

使用以篩選為中心的處理迷你驅動程式不應該直接使用資料流程指標。 如需詳細資訊 ,請參閱以篩選為中心的處理

根據預設,每個佇列都有前置邊緣資料流程指標。 或者,如果指定了尾端邊緣旗標,它可以有尾端邊緣資料流程指標。 迷你驅動程式可以藉由呼叫 KsStreamPointerClone來建立新的資料流程指標。

您只能以一個方向移動資料流程指標:移至較新的框架。 這稱為推進資料流程指標。

推進資料流程指標

當您前進資料流程指標時,請將它移至較新的框架,或將它移到目前框架中的一些位元組。 例如,迷你驅動程式可以將資料流程指標從第一個畫面抵達前移到第二個畫面抵達。

若要前進資料流程指標,釘選中心篩選準則可以呼叫 KsStreamPointerAdvanceKsStreamPointerUnlock ,並將 退出 參數設定為 TRUE

畫面格參考計數

具有指向這些指標的資料流程指標的框架會計算其參考,如同前邊緣和尾端邊緣之間視窗內的框架。

使用資料流程指標完成迷你驅動程式時,可以選擇性地呼叫 KsStreamPointerSetStatusCode 來指定錯誤碼,以完成指定的 I/O 要求封包 (IRP) 。 minidriver 接著必須呼叫 KsStreamPointerDelete。 AVStream 接著會遞減已刪除資料流程指標先前參考之畫面上的參考計數。 無法刪除前置邊緣和尾端邊緣資料流程指標。