Я новичок в разработке драйверов. Меня попросили написать драйвер универсального режима для простого USB-устройства. Я читал книгу «Разработка драйверов с помощью Windows Driver Foundation». Я также смотрю и пытаюсь понять примеры кода, на которые ссылается книга. В книге показан код C ++, а примеры кода, на которые я смотрел, находятся на C ++. Мне даже пришлось освежить в C ++, потому что я не смотрел на это в этом столетии. Используя VS 2017, когда я создаю проект из шаблона, я выбираю Visual C ++ -> Драйверы Windows -> WDF -> Драйвер пользовательского режима (UMDF V2). После создания проект, по всей видимости, является проектом C, а не C ++. Я просто запутался? Ну, ответ на этот вопрос — да, но почему он создает проект, содержащий файлы с расширением .c, а не .cpp, когда я явно выбрал шаблон Visual C ++? Есть идеи для нового драйвера устройства?
UMDF 2 был разработан, чтобы упростить портирование драйверов на KMDF. Поскольку C ++ не может использоваться в режиме ядра, проекты UMDF 2 по умолчанию настроены на C. Если вы хотите использовать C ++, измените настройки компилятора в свойствах проектов, но, пожалуйста, убедитесь, что никакие исключения не выходят из вашего кода.
Других решений пока нет …