[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayer、IMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayer、IMFMediaEngine 和 Media Foundation 中的音频/视频捕获,而不是 DirectShow。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
Microsoft DirectShow 提供了多个函数用于调试无限等待。
在零售版本中,DbgWaitForMultipleObjects 和 DbgWaitForSingleObject 函数的工作方式与 Windows API 对应项、WaitForMultipleObjects 和 WaitForSingleObject一样工作,并具有无限超时间隔。
在调试版本中,这些函数使用全局超时值。 如果超时过期,该函数将触发断言。 以下注册表项指定超时值(以毫秒为单位):
HKEY_LOCAL_MACHINE\<DebugRoot>\<模块名称>\TIMEOUT
其中,<DebugRoot> 是 调试输出函数主题中所述的注册表路径。
如果该键不存在,则超时值默认为 INFINITE。 可以使用 DbgSetWaitTimeout 函数替代注册表项。
功能 | 描述 |
---|---|
DbgSetWaitTimeout | 设置调试超时值。 |
DbgWaitForMultipleObjects | 等待指定对象的任何(或全部)发出信号。 |
DbgWaitForSingleObject | 等待对象发出信号。 |