AVStream에서 뮤텍스 처리

세 번째 뮤텍스는 처리 뮤텍스입니다. 개별 필터 및 핀에는 자체 처리 뮤텍스가 있습니다. AVStream은 처리 관련 구조에 대한 액세스를 동기화하기 위해 필터 및 핀 수준에서 처리하기 전에 처리 뮤텍스를 독립적으로 획득합니다. 또한 AVStream은 파이프 섹션에 핀 바인딩, 절전 또는 절전 모드 해제 작업, 설명자 변경 등 다른 작업 중에 처리 뮤텍스를 획득합니다. 미니드라이버에서는 뮤텍스를 수동으로 획득하여 처리 또는 설명자 수정과 같은 동기 작업을 수행할 수 있습니다. 미니 드라이버는 처리와 동시에 발생할 수 없는 변경을 수행하기 전에 처리 뮤텍스를 가져와야 합니다.

다른 두 가지 유형의 뮤텍스와 마찬가지로 처리 뮤텍스는 재귀적으로 가져오지 않습니다. 즉, 미니드라이버가 처리하는 동안 처리 뮤텍스를 잡으려고 하면 교착 상태가 발생합니다.

처리 뮤텍스를 사용하여 오랜 시간 동안 처리를 일시 중단하지 마세요. 대신 KSGATEXxx 함수를 사용하여 처리 제어 게이트를 직접 조작합니다.

처리 뮤텍스를 획득한 스레드는 이후에 필터 컨트롤 뮤텍스를 획득하려고 시도해서는 안 됩니다.

처리 뮤텍스를 조작하려면 다음 함수를 사용합니다.

KsFilterAcquireProcessingMutex, KsPinAcquireProcessingMutex, KsFilterReleaseProcessingMutex, KsPinReleaseProcessingMutex