I am trying to develope a printer driver. When I cannot handle a function I
punt back to gdi.
It also punts back when succesful so that the mirrorsurface is updated after
each call to the driver.
I've got punting working for every function except DrvTextOut. EngTextOut
returns true, but nothing gets drawn to the mirror surface. According to MSDN
"the driver cannot punt to EngTextOut if it has hooked DrvTextOut for a
device managed surface.". I have a device managed surface, but I also have an
engine managed surface that is used when calling the Eng functions. I wonder
if anyone knows:
1. Can I use EngTextOut if I have a device managed surface, even if I am not
calling EngTextOut with it.
2. Is there any way to get GDI to draw the text to my mirror surface.

Thanks, hwilcox

BOOL success = doTextOut(pstro, pfo, pco, prclExtra, prclOpaque,
pboFore, pboOpaque, pptlBrushOrg, mix, substMix);
if(settings->usingMirrorSurface)
{
SURFOBJ* mirrorSurf = EngLockSurface(hmirrorSurf);
BOOL engRet = EngTextOut(mirrorSurf, pstro,
pfo, pco, prclExtra,
prclOpaque, pboFore,
pboOpaque, pptlBrushOrg,
mix);
EngUnlockSurface(mirrorSurf);

if(engRet && !success)
{
success = sendRect(&pstro->rclBkGround, pco);
}
}

return success