Поделиться через


Функции отладки ожидания

[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Microsoft DirectShow предоставляет несколько функций для отладки бесконечных ожиданий.

В розничных сборках функции DbgWaitForMultipleObjects и DbgWaitForSingleObject работают как их коллеги API Windows, WaitForMultipleObjects и WaitForSingleObjectс бесконечными интервалами времени ожидания.

В отладочных сборках эти функции используют глобальное значение времени ожидания. Если истекает время ожидания, функция активирует утверждение. Следующий раздел реестра задает значение времени ожидания в миллисекундах:

HKEY_LOCAL_MACHINE\<DebugRoot>\ имя модуля<>\TIMEOUT

где <DebugRoot> — это путь реестра, описанный в разделе функции отладки выходных данных.

Если ключ не существует, значение времени ожидания по умолчанию имеет значение INFINITE. Функцию DbgSetWaitTime out можно использовать для переопределения записи реестра.

Функция Описание
DbgSetWaitTimeout Задает значение времени ожидания отладки.
DbgWaitForMultipleObjects Ожидает передачи сигнала о любых (или всех) указанных объектах.
DbgWaitForSingleObject Ожидает, пока объект станет сигналом.