I've written a Windows 95 printer driver, port monitor and VxD to drive a
card printer. Now, the printer uses a slightly odd communication method -
it uses a combination of a COM port and direct I/O mapped port I/O, so
under the approach I followed under win95 was as below :
1. Created minidriver with unitool.
2. Hooked into STARTDOC, NEXTBAND, ENDDOC and ABORTDOC.
3. Wrote port monitor & VxD to handle communication COM port and I/O
I hooked into STARTDOC, NEXTBAND, etc because I needed to do some
pre-processing (convert to CMYK, dithering and so on) on the image data.
Now I need to write an NT version of the drivers and I'm a little unsure
as to how to proceed, well, from the relevant section in NT DDK Docs I've
come up with the following 2 possibilities :
1. Write FULL driver and port monitor (I'd rather not).
2. Create minidriver, using RasDD, and write a port monitor.
ATM, option 2 seems the best, but there's a few things I'm not sure about:
1. Is CBFilterGraphics the only way I can hook into the minidriver ?
2. Is CBFilterGraphics described in more detail anywhere (I need to know
things like how much of the image will lpBuf point to when CBFilterGraphics
is called (do I get bands or the full image) and exactly what should this
function actually do (do I need to copy the block of memory before changing
it, etc, etc)) ?
3. Can I just use the port monitor from my '95 driver ?
4. Where, if needed, can I find more info on NT port monitor development ?
5. Is there a better source of documentation than the DDK Docs ?
Software Engineer (and all round nice guy)
Author of Pandora's Box
Company homepage : http://www.ddlinks.demon.co.uk
"The best trick the devil ever pulled was convincing people he didn't
- Verbal Kint.
"the Internet is here so we can waste time talking about nothing in
particular when we should be working" - Marcus Hill.