[wdmaudiodev] Re: Developing a "simple" user mode installable MIDI driver.

  • From: "Matthew van Eerde" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "Matthew.van.Eerde" for DMARC)
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 24 May 2018 13:29:14 +0000

  *   inject a thunk DLL



Um



Please don’t do this



________________________________
From: wdmaudiodev-bounce@xxxxxxxxxxxxx <wdmaudiodev-bounce@xxxxxxxxxxxxx> on 
behalf of Eugene Muzychenko <reg.wad@xxxxxxxxxxxxxx>
Sent: Thursday, May 24, 2018 1:55:38 AM
To: Chris Hubbard
Subject: [wdmaudiodev] Re: Developing a "simple" user mode installable MIDI 
driver.

Hello Chris,

Other vendors seem to still be doing this, so presumably there is a way to
make it work reliably?

I don't know. Many years ago, I had developed several user-mode
virtual (software-only) drivers for both wave and MIDI, they worked
reliably in NT 4, Win 2k, XP and 2k3 with most audio and MIDI
applications. But in Vista and Win7, none of them worked normally.
Some devices were not visible, some application calls were translated
incorrectly.

The main problem is, of course, Windows intermediate layer (wdmaud.drv)
that translates midiXxx/waveXxx calls to mid/mod/wid/wodMessage calls.

If you want to implement your functionality in user mode only, you
could inject a "thunk" DLL into particular MIDI application process, intercept
midiXxx calls, and translate them to your driver's DLL module.

Regards,
Eugene

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.wdmaudiodev.com%2F&data=02%7C01%7CMatthew.van.Eerde%40microsoft.com%7C38e6ae56434548f12e2508d5c15437e0%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C636627489822283037&sdata=iV3%2BtJZ0R2Y2WmrboPG03S3Uw2zmF72APHseB8Of4Qo%3D&reserved=0

Other related posts: