Printer Driver
Try using Compuware (former Numega) Driver Suite or Studio,
it comes together with the famous SoftIce debugger, features a C++ framework and other goodies. Another option would be BSquare's WinDK.
With MS DDK, WinDK and Jungo's WinDriver you will be writing a driver, if you use Jungo's KernelDriver or BSquare's WinRT you could avoid it and implement driver functionality in your application - slower and clumsier than an outgrown driver but easier to debug and develop.
Most of these products have example printer drivers.
By the way, without SoftIce you will need a second computer for the debugging!
Regards,
egeorgiev