Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Gdy Menedżer Grafu Filtrów zatrzymuje działanie grafu, czeka na zamknięcie wszystkich wątków przesyłania strumieniowego. Ma to następujące konsekwencje dla filtrów:
Filtr nigdy nie może wywoływać metod w Menedżerze Grafu Filtrów z wątku przesyłania strumieniowego.
Menedżer filtrów programu Graph używa sekcji krytycznej do synchronizowania własnych operacji. Jeśli wątek przesyłania strumieniowego próbuje zająć tę sekcję krytyczną, może to spowodować zakleszczenie. Załóżmy na przykład, że inny wątek zatrzymuje wykres. Ten wątek blokuje dostęp do grafu filtru i czeka, aż filtr zakończy dostarczanie danych. Jeśli filtr czeka na blokadę, nigdy nie zostanie zatrzymany, powodując zakleszczenie.
Filtr nigdy nie może AddRef lub QueryInterface Menedżera Grafów Filtrów z wątku przesyłania strumieniowego.
Jeśli filtr przechowuje licznik odwołań w Menedżerze grafu filtrów (za pośrednictwem AddRef lub QueryInterface), może być ostatnim obiektem przechowującym licznik odwołań. Gdy filtr wywołuje Release, Menedżer grafu filtrów ulega zniszczeniu. Wewnątrz procedury oczyszczania menedżer programu Filter Graph próbuje zatrzymać graf, co powoduje oczekiwanie na zakończenie wątku przesyłania strumieniowego. Jednak czeka wewnątrz wątku przesyłania strumieniowego, więc ten nie może się zakończyć. Wynikiem jest impas.