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