在 AVStream 中處理 Mutex
第三個 mutex 是處理 mutex。 個別篩選和針腳有自己的處理 Mutex。 AVStream 會在篩選和釘選層級處理之前獨立取得處理 Mutex,以便同步處理處理相關結構的存取。 AVStream 也會在其他作業期間取得處理 Mutex,包括將針腳系結至管道區段、睡眠或喚醒電源作業,以及變更描述元。 Minidrivers 可以手動取得 mutex 來執行同步作業,例如處理或描述元修改。 minidriver 應該先取得處理 Mutex,再進行無法同時處理的任何變更。
如同其他兩種類型的 Mutex,處理 mutex 不會以遞迴方式取得。 這表示,如果迷你驅動程式嘗試在處理時抓取處理 Mutex,就會發生死結。
請勿使用處理 Mutex 來暫停長時間的處理。 請改用KSGATEXxx函式直接操作處理控制閘道。
取得處理 Mutex 的執行緒不應後續嘗試取得篩選控制項 Mutex。
若要操作處理 Mutex,請使用下列函式:
KsFilterAcquireProcessingMutex、 KsPinAcquireProcessingMutex、 KsFilterReleaseProcessingMutex、 KsPinReleaseProcessingMutex