2010-07-04 109 views
3

我从来没有写过驱动程序,但我开始了一个开源项目,涉及创建虚拟MIDI端口,它将通过网络发送MIDI数据。为此,我认为我会创建一些使用WDM的虚拟驱动程序(除非它可能与内核挂钩有关) - 但作为驱动程序开发的初学者,我不知道从哪里开始。虚拟驱动程序与Windows驱动程序模型 - 从哪里开始?

有没有人知道任何有用的资源,可以帮助我这个项目?或者我可以将一个类似项目的开源代码作为起点?

回答

4

Windows MIDI驱动程序不需要在内核中实现,它们可以作为DLL完全在用户空间中实现。

MSDN有一些关于你需要实现的功能的信息 - Audio Device Messages for MIDI - 不幸的是它有点缺乏。

曾经有这种驱动程序的示例代码,作为NT4 DDK的一部分,但是更近期的DDK/WDK版本遗憾地不再包含它。

一些更好(虽然旧的)文档和示例代码仍然可以经过一番搜索发现:

2

查看Dokan项目,它正在做类似的事情(但是使用文件系统虚拟驱动程序)。

当你想在Windows上创建一个新的文件系统 ,例如 提高FAT或NTFS,你需要 开发文件系统驱动。

发展,在内核模式下在Windows上运行 设备驱动程序是极其 difficult.By使用杜坎库,你可以 非常 轻松地创建自己的文件系统,而无需编写设备驱动程序。

Dokan库类似于FUSE(Linux 用户模式文件系统),但在 Windows上工作。

1

Here是驱动程序开发好的资源汇编下WDM

-1

谷歌tiamodisk ......一个优秀的如。的虚拟SCSI微型端口驱动程序。 我知道的另一个虚拟驱动程序是“Filedisk”。 如果你想tiamodisk我可以发邮件