Установите KMDF Sample-Driver вручную на Windows 7 SP1
Я только что создал образец драйвера KMDF с помощью Visual Studio 2013 Express с WDK 8.1 на компьютере с Windows 7 (64-разрядная версия). Когда я строю решение, я не получаю ошибок. Как позже я хочу проверить, работает ли мой драйвер, я вставил общую строку отладки в мой DriverEntry-Routine:
NTSTATUS DriverEntry(...)
{
DbgPrint("Test\n");
// ...
}
С помощью диспетчера устройств Windows я могу установить драйвер вручную, добавив устаревшее устройство. Конечно, Windows будет жаловаться на то, что драйвер не подписан. Но в любом случае позже я вижу установленный драйвер в диспетчере устройств, которому предшествует символ предупреждения:
С DebugView (из Sysinternals Suite) я жду появления моего сообщения отладки, но ничего не происходит. Единственные сообщения отладки, которые я получаю во время установки драйвера:
[1768] WdfCoInstaller: [02/07/2018 12:43.22.162] DIF_INSTALLDEVICE: Pre-Processing
[1768] WdfCoInstaller: [02/07/2018 12:43.22.168] ReadComponents: WdfSection for Driver Service KMDFDriver1 using KMDF lib version Major 1, minor 11
[1768] WdfCoInstaller: [02/07/2018 12:43.22.177] DIF_INSTALLDEVICE: Coinstaller version: 1.11.0
[1768] WdfCoInstaller: [02/07/2018 12:43.22.185] DIF_INSTALLDEVICE: KMDF in-memory version: 1.11.0
[1768] WdfCoInstaller: [02/07/2018 12:43.22.188] DIF_INSTALLDEVICE: KMDF on-disk version: 1.11.0
[1768] WdfCoInstaller: [02/07/2018 12:43.22.191] Service Wdf01000 is running
[1768] WdfCoInstaller: [02/07/2018 12:43.22.194] DIF_INSTALLDEVICE: Update is not required. The on-disk KMDF version is newer than or same as the version of the coinstaller
[1768] WdfCoInstaller: [02/07/2018 12:43.22.305] DIF_INSTALLDEVICE: Post-Processing
Так что это приводит меня к вопросу, почему мой драйвер не работает? Я думаю, это как-то связано с подписью водителя, но я также не знаю, как его подписать. Или, может быть, DebugView не подходит для этого?
1 ответ
Используйте OSRLOADER для загрузки драйвера вашего устройства в целях тестирования. Вам также может потребоваться внести некоторые изменения в реестр.
Вы можете скачать OSRLOADER здесь: https://www.osronline.com/article.cfm?article=157
Ознакомьтесь с ответами на этот вопрос, чтобы узнать, что делать дальше в отношении DebugView и реестра: нет выходных данных из DebugView
Что касается подписи драйверов, перейдите в свойства проекта и выберите вкладку "Подписывание драйверов". Вы можете установить тип сертификата для тестирования, а затем просто создать случайный тестовый сертификат. Среда, в которой будет тестироваться драйвер, должна иметь включенный тестовый режим или запускаться с отключенным DSE для этого сеанса. Вы можете узнать больше здесь:
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/how-to-test-sign-a-driver-package
Все уже задокументировано, все, что вам нужно сделать, это простой Google, и у вас будет вся информация. Только в MSDN достаточно много информации о разработке драйверов, рутинной документации драйверов, примерах исходного кода, иногда даже видео.