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


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

[Функция, связанная с этой страницей 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>\<Имя> модуля\ВРЕМЯ ОЖИДАНИЯ

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

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

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