thanks Don, I think I have to write a driver because I want my serial port to appear as a MIDI in and MIDI out device to other recording applications. I have some experience in serial port comms with the Win32 API so I will be very happy if I can simply use them in a PortCls driver. I've got the DMusUart sample miniport driver compiling which I'm hoping to use as my starting point. Mark On 4/13/07, Don Bell <0dbell@xxxxxxxxx> wrote:
On 4/13/07, Mark Heath <mark.heath@xxxxxxxxx> wrote: > I am looking into the possibility of writing a serial port MIDI driver for > Windows Vista, as the Korg X5D serial port driver will not install on Vista. > I am very new to drivers, so please excuse my ignorance if these are stupid > questions > > Am I right in thinking I would need to create a PortCls driver with a MIDI > miniport driver, or is it possible for me to create something using the user > mode driver framework? I am a newbie too, but I think that I can fortunately answer this question: It is unclear to me whether you want to write a MIDI application or whether you want to write a driver. If you do want to write a driver, then your only recourse is to create a PortCls driver with a MIDI miniport driver (WDM, not even KMDF). Using an existing serial port for the purpose of passing MIDI data, however, can be implemented as a user-mode program. Again, it is possible that I misunderstood you, so please take the above with a grain of salt. > Second, do I need to learn some kind of kernel mode API for reading / > writing to the serial port, or is there a way of simply writing to it as > though it were the UART on a PCI soundcard? Reading and writing from/to the serial port in user mode is as simple as using CreateFile() and related Win32 functions: http://www.codeproject.com/system/chaiyasit_t.asp However, if what you really want to do is write a PortCls MIDI miniport driver, then you must study WDM (mind boggling new terminology for a newbie). Good luck! Don ****************** 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: http://www.wdmaudiodev.com/