濾波器是一組節點,用於封裝在數據流上執行的處理任務。 引腳作為濾波器的輸入和輸出管道。
簡單的過濾器可以包含一個數據匯集端和一個數據源端。 濾波器會接收資料接收端子上的傳入資料,在內部處理後,並寫入到資料來源端子。 在下圖中,針腳會顯示為粗線段。 在內部,過濾器將資料接收端針腳連接到內部處理單元,一個節點,而後連接到資料來源端針腳。
另一個裝置可能會結合或分割針腳之間的數據流。 例如,音訊混音器支援數個資料接收腳位。 混音器會將它們合併成單一數據流,並將該數據流寫入數據源針腳。 下圖顯示了資料流。
圖表描述濾波器針腳之間的內部關係。 更複雜的篩選可能會封裝數個節點,以轉換流經篩選的數據。
篩選器會使用 KSPROPSETID_Topology 屬性集,指定針腳與內部節點之間的內部連線。
KSPROPERTY_TOPOLOGY_CONNECTIONS屬性會查詢 KS 篩選節點之間的所有連線。 這個屬性會傳回 KSTOPOLOGY_CONNECTION的陣列。 每個 KSTOPOLOGY_CONNECTION 結構體都代表濾鏡內的單一資料路徑連線。 在上述混音器圖中,KSTOPOLOGY_CONNECTION結構的序列可能如下所示:
// FromNode, FromNodePin, ToNode, ToNodePin,
{
{ KSFILTER_NODE, 0, 0, 0 },
{ 0, 1, KSFILTER_NODE, 1 }
}