Я пишу драйвер, которому требуется синхронизация с вертикальным пустым прерыванием, чтобы отправить некоторые данные по USB-трубе.Ожидание вертикальной заготовки в режиме ядра?
В пользовательском режиме доступны такие функции Direct X, как IDXGIOutput::WaitForVBlank и несколько более старых. Я не могу использовать их из ядра. Я нашел еще один интерфейс в SDK Windows 8: D3DKMTWaitForVerticalBlankEvent, который даже имеет заголовок ядра (заголовок находится в/км/папке SDK), но для этого требуется gdi32.lib
, который использует библиотеку пользовательского режима и связывает с ней калечащий драйвер.
Есть ли способ подождать или получить уведомление о вертикальном пустоте (без опроса)?
вот как я это делаю прямо сейчас; хотя я бы хотел избавиться от накладных расходов на отправку IOCTLS до драйвера. Мне нужно каждую микросекунду, которую я могу получить. – kurczak