Sure, I can see a grand experiment in KMDF/UMDF programming that would make
any college professor proud (of the incredibly complex, inefficient, but
intoxicatingly panoramic embrace of windows programming).
Student: I wish to do the following for my project this semester.
Professor: Why, that sounds fine. {snicker: he will be my grader for the
next four years while trying to make that work.}
NDIS/WDF miniport ‘function’ driver.
UMDF lower filter to pickup reads & writes into usermode and send them down
the Win32 API using the COM port.
Maybe we can find a way to convince the OPto use kernel threads, named
pipes, and occasional undocumented LPC port, and any number of other things
too (like TAPI maybe just to make it really fun).
Or something like that 
I wish I could get paid to build such a Rube Goldberg. It would surely be
more fun and educational than trying to squeeze a bazillion I/Os/sec down
some incredibly narrow device stack path by painstakingly inspecting every
last twiddle, lock scheme, data access, and encoding technique. Alas, the
real world intercedes…
Cheers,
-dave
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@gmail.com
Sent: Tuesday, July 21, 2009 10:32 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] IP to Serial
David R. Cattley wrote:
And so you will be writing a custom driver with an upper
edge as an NDIS Miniport and a lower edge as a WDM
(or WDF) driver which opens a serial port device and
sends it the appropriate requests to setup the DTE/DCE
link parameters and then read and write data to implement
your protocol.
I could see a design where he handles all the serial “complexity” in a
user-mode “bridge” that talks to both the COM port (using his favored
usermode serial API’s) and some NDIS control device (through
DeviceIoControl(), I suppose), but I admit this is totally unnecessary.
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer