I think you all are missing the point.
First of all, the question was about printer driver development, so all
the stuff about WDM, KMDF… does not apply. Actually there is no kernel
mode stuff involved at all (unless you have to support < NT4 SP6). So
using C++, COM, MFC, whatever… is quiet possible, and I have done so
successfully myself.
BUT:
The OP wanted “easy and simple” samples and documentation for writing
virtual printer drivers in C++, as a beginner with no printer driver
knowledge.
And as the samples in the DDK are in C (unless you are writing for the
unidrv), I do not think it is a good idea for a beginner to jump into
printer driver development, both in C++ and starting from scratch. And
not being able to base his works on the DDK samples does not make it
simpler to avoid the pitfalls and undocumented spooler “features”
/Christoph
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Friday, December 14, 2007 11:09 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] how to develop a virtual printer driver?
Gary G. Little wrote:
> Mark still has his C++ stuff on Hollistech, but … the same song
> still holds true; KERNEL development is best done in C
using KMDF, …
> –
> The personal opinion of
> Gary G. Little
I just want to make sure that people who read the first
sentence also read your signature, because it is critically important.
ALL of my drivers are in C++: legacy, WDM, AVstream, BDA,
KMDF. Most of them use classes; a few do not. More than
half of my work is in AVStream, and in that world C++ is the
rule rather than the exception.
It’s true that there are parts of the stove that are too hot
to touch without getting hurt, but that’s true both with a C
stove and a C++ stove.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
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