Виртуальные драйверы с Windows Driver Model - с чего начать? - PullRequest
3 голосов
/ 04 июля 2010

Я никогда раньше не писал драйверов, но я начинаю проект с открытым исходным кодом, который предусматривает создание виртуальных портов MIDI, которые будут отправлять данные MIDI по сети.

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

Кто-нибудь знает какие-нибудь полезные ресурсы, которые помогут мне в этом проекте? Или какой-нибудь открытый исходный код из аналогичного проекта, который я мог бы использовать в качестве отправной точки?

Ответы [ 4 ]

4 голосов
/ 23 декабря 2010

Драйверы Windows MIDI не нужно реализовывать в ядре, они могут быть полностью реализованы в пользовательском пространстве как библиотеки DLL.

MSDN имеет некоторую информацию о функциях, которые необходимо реализовать - Сообщения аудиоустройствадля MIDI - к сожалению, его несколько не хватает.

Раньше был образец кода для этого типа драйвера, как часть NT4 DDK, но, к сожалению, более поздние версии DDK / WDK этого не делаютвключите его больше.

Некоторую лучшую (хотя и более старую) документацию и пример кода можно найти после некоторого поиска:

2 голосов
/ 14 июля 2010

Проверьте проект Dokan , он делает нечто подобное (но с виртуальным драйвером файловой системы).

Когда вы хотите создать новый файл система в Windows, например, для улучшить FAT или NTFS, вам нужно разработать драйвер файловой системы.

Разработка драйвера устройства, который работает в режиме ядра на windows крайне С помощью библиотеки Dokan вы можно создавать свои собственные файловые системы очень легко без написания драйвера устройства.

Библиотека Dokan похожа на FUSE (Linux файловая система в режиме пользователя), но работает на Окна.

1 голос
/ 16 июля 2010

Здесь - хорошая подборка ресурсов по разработке драйверов под WDM

0 голосов
/ 03 августа 2010

гугл тиамодиск ... отличный пример.виртуального драйвера мини-порта SCSI.другой виртуальный драйвер, который я знаю, это «Filedisk».если ты хочешь tiamodisk, я могу написать по электронной почте

...