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