tags:

views:

95

answers:

2
+6  Q: 

DDK "Hello World"

How does one begin writing drivers for Windows? Is there some sort of official DDK "Hello World" example out there?

While I'm sure it will be way above my head at first, eventually I would like to create a simple MIDI driver, much like the Maple Virtual MIDI Cable where the MIDI messages come from a user application rather than a physical device.

(The trouble with using the off-the-shelf MIDI loopback drivers is that the existence of an input and output end is often confusing for the user. My application generates MIDI output that gets sent to the MIDI input of other programs, so if I could create a fake driver that connects to my program rather than hardware, it would eliminate this confusion.)

Thank you for your time.

+3  A: 

The WDK docs are reference material, they won't teach you how to get started. Essential are the sample code included with the WDK, there's lots of it and you can often find something that resembles the kind of driver you want to create. A generic filter driver is available in the src\kmdf\toaster\filter directory, I think that's what you'd need if I understand your goal properly.

Walter Oney's books are essential to learn important concepts, strongly recommended. I keep running into osronline.com as a web site that strongly focuses on driver development, with forums. You typically won't find much help here, it is a rather specialized kind of coding.

Hans Passant
Thanks so much for your reply! I will dig into these resources now.
Brad
+2  A: 

Hi there,

you could take a look at my virtualMIDI-driver:

www.tobias-erichsen.de/virtualMIDI.html

This one does exactly what your are looking for.

Tobias

Tobias Erichsen
Tobias, I actually e-mailed you about this yesterday. :-) Glad to see you on StackOverflow! I found several posts you made on various message boards in the past, and noticed the link to your website. Your project is indeed *exactly* what I am looking for. I hope you will allow me to use your driver with my freeware projects.
Brad