使用Windows驱动程序模型的虚拟驱动程序-从哪里开始?

9njqaruj  于 2023-01-31  发布在  Windows
关注(0)|答案(4)|浏览(310)

我从来没有写过驱动程序,但我开始了一个开源项目,涉及创建虚拟MIDI端口,将发送MIDI数据通过网络。
为此,我想我会使用WDM创建某种类型的虚拟驱动程序(除非它可以使用内核钩子?)-但作为驱动程序开发的初学者,我不知道从哪里开始。
有没有人知道任何有用的资源,可以帮助我完成这个项目?或者一些类似项目的开源代码,我可以把它作为一个起点?

mwyxok5s

mwyxok5s1#

Windows MIDI驱动程序不需要在内核中实现,它们可以作为DLL完全在用户空间中实现。
MSDN有一些关于您需要实现的函数的信息-Audio Device Messages for MIDI-不幸的是有些缺乏。
作为NT 4 DDK的一部分,曾经有这种驱动程序的示例代码,但不幸的是,DDK / WDK的最新版本不再包含它。
经过一些搜索,仍然可以找到一些更好的(虽然更旧)文档和示例代码:

0x6upsns

0x6upsns2#

看看Dokan项目,它正在做类似的事情(但是使用了文件系统虚拟驱动程序)。
当你想在Windows上创建一个新的文件系统时,例如为了改进FAT或NTFS,你需要开发一个文件系统驱动程序。
在windows上开发一个内核模式的设备驱动程序是非常困难的,通过使用Dokan库,你可以很容易地创建自己的文件系统,而不需要编写设备驱动程序。
Dokan Library类似于FUSE(Linux用户模式文件系统),但可以在Windows上运行。

vnzz0bqm

vnzz0bqm3#

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

vtwuwzda

vtwuwzda4#

谷歌tiamodisk...一个很好的例子。一个虚拟的SCSI迷你端口驱动程序。另一个虚拟驱动程序我知道是“文件磁盘”。如果你想要tiamodisk我可以发电子邮件

相关问题