대기 디버깅 함수
[DirectShow 이 페이지와 연결된 기능은 레거시 기능입니다. MediaPlayer, IMFMediaEngine, Media Foundation 오디오/비디오 캡처대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11에 최적화되었습니다. Microsoft는 가능하면 새로운 코드에서 MediaPlayer, IMFMediaEngine 및 Audio/Video Capture를 DirectShow대신 Media Foundation 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
Microsoft DirectShow는 무한 대기를 디버깅하기 위한 몇 가지 기능을 제공합니다.
소매 빌드에서 DbgWaitForMultipleObjects 및 DbgWaitForSingleObject 함수는 Windows API 대응 함수, WaitForMultipleObjects 및 WaitForSingleObject무한 시간 제한 간격으로 작동합니다.
디버그 빌드에서 이러한 함수는 전역 제한 시간 값을 사용합니다. 제한 시간이 만료되면 함수는 어설션을 트리거합니다. 다음 레지스트리 키는 시간 제한 값을 밀리초 단위로 지정합니다.
HKEY_LOCAL_MACHINE\<DebugRoot>\<모듈 이름>\TIMEOUT
여기서 <DebugRoot> 디버그 출력 함수 항목에 설명된 레지스트리 경로입니다.
키가 없으면 제한 시간 값은 기본적으로 INFINITE로 설정됩니다. DbgSetWaitTimeout 함수를 사용하여 레지스트리 항목을 재정의할 수 있습니다.
기능 | 묘사 |
---|---|
DbgSetWaitTimeout | 디버깅 제한 시간 값을 설정합니다. |
DbgWaitForMultipleObjects | 지정된 개체의 모든(또는 모든)가 신호를 받을 때까지 기다립니다. |
DbgWaitForSingleObject | 개체가 신호를 받기를 기다립니다. |