Необходим специалист для реализации полного цикла разработки и сопровождения драйвера клавиатуры и мыши для Windows. Основная задача — создать драйвер, библиотеку для взаимодействия, и выполнить их регистрацию и цифровую подпись.
Обязанности:
1.Разработка драйвера клавиатуры и мыши:
Написание драйвера на C с использованием Windows Driver Kit (WDK).
Работа с HID-протоколом для управления устройствами ввода.
Настройка и компиляция драйвера с использованием Visual Studio в связке с WDK.Учет спецификаций USB и HID, обеспечение совместимости драйвера с Windows 7 и выше.
2.Создание библиотеки DLL:
Разработка DLL для взаимодействия с драйвером на языке C++.
Реализация методов для работы с API драйвера, включая инициализацию, управление устройствами и обработку событий.
Использование C++/CLI или других подходов для обеспечения связи библиотеки с другими языками/платформами.
3.Тестирование:
Настройка среды отладки с использованием WinDbg для анализа драйвера.
Использование Driver Verifier для выявления проблем в работе драйвера.
Тестирование работы драйвера и библиотеки в условиях реального использования.
4.Регистрация и цифровая подпись драйвера:
Использование расширенных цифровых сертификатов для подписания драйвера (EV Code Signing Certificate).
Регистрация драйвера через Azure Dev Portal или аналогичные сервисы Microsoft для распространения.
Учет требований WHQL (Windows Hardware Quality Labs) для сертификации драйвера, если это потребуется.
5.Сопровождение:
Внесение исправлений и обновлений в драйвер по мере необходимости за дополнительную плату.
Пересборка драйвера и библиотеки с последующей цифровой подписью и регистрацией новых версий.
Требования к кандидату:
•Языки программирования:
Уверенное владение C (для драйверов) и C++ (для DLL).
Знание стандартов C99 и C++11 (или выше).
•Разработка драйверов:
Практический опыт работы с Windows Driver Kit (WDK).
Опыт написания драйверов Kernel-Mode (KMDF, UMDF).
Понимание особенностей работы с IRP (I/O Request Packets) в Windows.
Знание HID и USB-спецификаций.
Навыки работы с API уровня ядра Windows.
•Отладка и тестирование:
Владение инструментами отладки драйверов, включая WinDbg и Driver Verifier.
Умение анализировать дампы памяти для устранения ошибок.
Опыт тестирования драйверов на виртуальных и физических машинах.
•Цифровая подпись и регистрация:
Опыт подписания драйверов с использованием EV Code Signing Certificate.
Понимание процессов регистрации драйвера через Azure Dev Portal и работы с Microsoft Hardware Dashboard.
Знание требований к цифровой подписи для драйверов на Windows 10 и выше (особенно в UEFI Secure Boot).
•Библиотеки DLL:
Опыт разработки динамических библиотек на C++.
Навыки создания интерфейсов для взаимодействия с драйвером через API.
Дополнительные требования:
Опыт написания драйверов для USB-устройств будет большим плюсом.
Знание PowerShell для автоматизации процессов сборки и регистрации драйвера.
Опыт работы с WHQL для сертификации будет преимуществом.
Условия:
Частичная занятость: проектная работа с возможностью долгосрочного сотрудничества.
Удаленный формат, гибкий график.
Оплата договорная.