Udostępnij przez


Funkcje oczekiwania na debugowanie

[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.]

Program Microsoft DirectShow udostępnia kilka funkcji debugowania nieskończonych oczekiwań.

W kompilacjach detalicznych funkcje DbgWaitForMultipleObjects i DbgWaitForSingleObject działają jak ich odpowiedniki interfejsu API systemu Windows, WaitForMultipleObjects i WaitForSingleObject, z nieskończonymi interwałami limitu czasu.

W kompilacjach debugowania te funkcje używają globalnej wartości limitu czasu. Jeśli limit czasu wygaśnie, funkcja wyzwala asercję. Następujący klucz rejestru określa wartość limitu czasu w milisekundach:

HKEY_LOCAL_MACHINE\<DebugRoot>\ nazwa modułu<>\TIMEOUT

gdzie <DebugRoot> to ścieżka rejestru opisana w temacie Debug output Functions.

Jeśli klucz nie istnieje, wartość limitu czasu jest domyślnie równa NIESKOŃCZONA. Aby zastąpić wpis rejestru, możesz użyć funkcji DbgSetWaitTimeout.

Funkcja Opis
DbgSetWaitTimeout Ustawia wartość limitu czasu debugowania.
DbgWaitForMultipleObjects Czeka na sygnały wszystkich (lub wszystkich) określonych obiektów.
DbgWaitForSingleObject Czeka, aż obiekt zostanie zasygnalizowany.