第三個 mutex 是處理 mutex。 各個濾波器和引腳都有各自的處理用互斥鎖。 AVStream 在處理過濾和針接點層次之前,會獨立取得處理互斥鎖,以便同步存取與處理相關的結構。 AVStream 也會在其他作業期間取得處理 Mutex,包括將針腳系結至管道區段、睡眠或喚醒電源作業,以及變更描述元。 Minidrivers 可以手動取得 mutex 來執行同步作業,例如處理或描述元修改。 迷你驅動程序應該先取得處理 Mutex,再進行任何無法與處理同時發生的變更。
與其他兩種類型的互斥鎖一樣,處理互斥鎖無法遞歸地獲得。 這表示如果迷你驅動程式嘗試在處理時擷取處理 Mutex,就會發生死結。
請勿使用處理中的 Mutex 來長時間暫停處理。 相反地,使用 KSGATEXxx 函式,直接操作處理控制閘。
已獲得處理互斥鎖的線程不應再嘗試獲取篩選控制互斥鎖。
若要操作處理互斥鎖,請使用下列函式:
KsFilterAcquireProcessingMutex、KsPinAcquireProcessingMutex、KsFilterReleaseProcessingMutex、KsPinReleaseProcessingMutex