Почему в Windows Driver Kit отсутствует шаблон драйвера режима ядра WDM?

StackOverflow https://stackoverflow.com//questions/24016441

  •  21-12-2019
  •  | 
  •  

Вопрос

Я наткнулся на драйверы режима ядра с очень небольшим опытом работы.Вот что я пытаюсь сделать:

  • У вас есть приложение в пользовательском режиме, которое загружает драйвер.
  • Попросите приложение пользовательского режима написать ему, чтобы отправить ему инструкцию.
  • Попросите драйвер отправить инструкцию RDMSR на чип Intel.
  • Верните результаты обратно в приложение пользовательского режима.

Я читал эта статья это описывает различные способы, с помощью которых вы можете выполнить это поведение (буферизованный ввод-вывод, Прямой ввод-вывод или Ни то, ни другое).

Моя проблема заключается в следующем...в статье есть код, который представляет способ, которым вы бы структурировали ВДМ драйвер, и я ожидал, что смогу создать шаблон проекта WDM KMDF, используя Windows Driver Kit, но когда я загрузил Windows Driver Kit (WDK), единственный шаблон драйвера KMDF был для ВДФ водитель. В MSDN есть статья, описывающая различия между этими двумя.Для меня это немного странно.Я ожидал получить готовый шаблон, который я мог бы изменить, чтобы он работал, как в статье, на которую я дал ссылку, но я его не вижу.Почему нет шаблона для драйвера WDM KMDF?

Просто добавлю, что вы можете довольно легко определить тип драйвера на основе способ, которым он создает устройство (IoCreateDevice подразумевает WDM, тогда как WdfDeviceCreate подразумевает WDF).

Это было полезно?

Решение

В этом вопросе очень много нестыковок.Прежде всего, KMDF является подмножеством WDF (и это единственное, что имеет отношение к делу WDF часть, когда речь идет о драйверах ядра), так что между ними нет противоречия.Каждый драйвер ядра, по сути, является WDM водитель. KMDF является основой в WDM и KMDF водителей обычно вызывают, ну, KMDF драйверы, без упоминания WDM. WDM драйвер обычно относится к драйверу, который не использует никаких дополнительных фреймворков, таких как KMDF.Второй, WDK интегрируется с VS2012 / 2013, и вы должны установить его в дополнение к WDK, чтобы получить шаблоны.Третий, WDM шаблон действительно появляется в списке.Если у вас его нет, я предлагаю переустановить WDK и VS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top