使用Windows Driver Model创建虚拟驱动程序 - 如何入门?

4
我以前从未编写过驱动程序,但我正在启动一个开源项目,其中涉及创建虚拟MIDI端口,将MIDI数据通过网络发送。
为此,我认为我需要使用WDM创建某种虚拟驱动程序(除非可以使用内核挂钩?)-但作为驱动程序开发的初学者,我不知道从何开始。
有没有人知道任何有用的资源,可以帮助我完成这个项目?或者一些类似项目的开源代码,我可以作为起点进行分支?
4个回答

4

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

MSDN上有一些关于需要实现的函数的信息 - MIDI音频设备消息 - 不幸的是它有些缺乏。

曾经有一些示例代码用于这种类型的驱动程序,作为NT4 DDK的一部分,但更近期的DDK / WDK版本不再包括它。

一些更好(尽管较老)的文档和示例代码仍然可以在搜索后找到:


2
请查看Dokan项目,它正在做类似的事情(但使用文件系统虚拟驱动器)。
当您想在Windows上创建一个新的文件系统(例如改进FAT或NTFS)时,需要开发一个文件系统驱动程序。在Windows内核模式下开发设备驱动程序非常困难。通过使用Dokan库,您可以轻松地创建自己的文件系统,而无需编写设备驱动程序。Dokan库类似于FUSE(Linux用户模式文件系统),但适用于Windows。

1

这里是关于WDM驱动程序开发的好资源汇编


-1

Google Tiamodisk...这是一个虚拟SCSI miniport驱动程序的绝佳示例。 我知道的另一个虚拟驱动程序是“Filedisk”。 如果你想要Tiamodisk,我可以通过电子邮件发送。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接