When I implemented the DrvCopyBits function in the mirror driver, I
just punted to EngCopyBits call, but unfortunately, I got a blue
screen. Is there anything else that I should do before punting it back
to EngCopyBits?

Could any guru please give me some suggestions?

Thanks,

Re: A question about EngCopyBits by Vipin[MVP]

Vipin[MVP]
Tue Oct 11 15:12:04 CDT 2005

yup, that is a known issue. You can't punt back DrvCopyBits using
EngCopyBits(...) unless it is a
GDI managed surface. There is nothing prmitive that GDI can break it into
and it goes mad. But I would expect
Microsoft to fix this by returning failure for EngCopyBits(...) and not
bsod.

--
Vipin Aravind
MVP [Windows - Printing/Imaging]

"lee" <lander_gao@yahoo.com> wrote in message
news:1129056885.102970.122750@g47g2000cwa.googlegroups.com...
> When I implemented the DrvCopyBits function in the mirror driver, I
> just punted to EngCopyBits call, but unfortunately, I got a blue
> screen. Is there anything else that I should do before punting it back
> to EngCopyBits?
>
> Could any guru please give me some suggestions?
>
> Thanks,
>



Re: A question about EngCopyBits by lee

lee
Tue Oct 11 15:34:51 CDT 2005

Vipin, Thanks for telling this.


Re: A question about EngCopyBits by mirrdrv

mirrdrv
Sat Nov 05 11:41:01 CST 2005

In fact, an infitine mutual recursion is
what is happening here. And it ends up
in stack overflow which is manifesting itself
with a double fault bug check.
DrvCopyBits calls EngCopyBits and
EngCopyBits, in turn, calls DrvCopyBits again.
Nothing is wrong with EngCopyBits here.
It must, for sure, simply call DrvCopyBits,
and consider its work done. It should not check
all the time if it is reentered.

So, conclusion is right.
Driver must never call EngCopyBits with its
own device-managed surface as the destination
or source.

--
Best regards,
Lev Kazarkin
http://www.demoforge.com



"Vipin[MVP]" wrote:

> yup, that is a known issue. You can't punt back DrvCopyBits using
> EngCopyBits(...) unless it is a
> GDI managed surface. There is nothing prmitive that GDI can break it into
> and it goes mad. But I would expect
> Microsoft to fix this by returning failure for EngCopyBits(...) and not
> bsod.
>
> --
> Vipin Aravind
> MVP [Windows - Printing/Imaging]
>
> "lee" <lander_gao@yahoo.com> wrote in message
> news:1129056885.102970.122750@g47g2000cwa.googlegroups.com...
> > When I implemented the DrvCopyBits function in the mirror driver, I
> > just punted to EngCopyBits call, but unfortunately, I got a blue
> > screen. Is there anything else that I should do before punting it back
> > to EngCopyBits?
> >
> > Could any guru please give me some suggestions?
> >
> > Thanks,
> >
>
>
>