等待调试函数

[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayerIMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获,而不是 DirectShow。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]

Microsoft DirectShow 提供了多个函数用于调试无限等待。

在零售版本中,DbgWaitForMultipleObjectsDbgWaitForSingleObject 函数的工作方式与 Windows API 对应项、WaitForMultipleObjectsWaitForSingleObject一样工作,并具有无限超时间隔。

在调试版本中,这些函数使用全局超时值。 如果超时过期,该函数将触发断言。 以下注册表项指定超时值(以毫秒为单位):

HKEY_LOCAL_MACHINE\<DebugRoot>\<模块名称>\TIMEOUT

其中,<DebugRoot>调试输出函数主题中所述的注册表路径。

如果该键不存在,则超时值默认为 INFINITE。 可以使用 DbgSetWaitTimeout 函数替代注册表项。

功能 描述
DbgSetWaitTimeout 设置调试超时值。
DbgWaitForMultipleObjects 等待指定对象的任何(或全部)发出信号。
DbgWaitForSingleObject 等待对象发出信号。