2010-07-04 2 views
3

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

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

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

ответ

4

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

В MSDN имеется некоторая информация о функциях, необходимых для реализации - Audio Device Messages for MIDI - к сожалению, это несколько не хватает.

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

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

2

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

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

Разработка драйверов устройств, который работает в режиме ядра на окнах очень difficult.By с использованием библиотеки Докана, вы можете создавать свои собственные файловые системы очень легко без написания драйвера устройства.

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

1

Here является хорошей компиляцией ресурсов по разработке драйверов под WDM

-1

Google tiamodisk ... отличная например. виртуального драйвера мини-порта SCSI. Другой виртуальный драйвер, который я знаю, это «Filedisk». if u want tiamodisk Я могу отправить по электронной почте