Hello to all,
I was wondering if there is any limitations placed on mirror drivers to
prevent them from implementing device dependent bitmaps. I have used the
mirror sample in the DDK and after uncommenting the code that was already in
the sample to allow it to handle device dependent bitmaps, I get a BSOD that
is caused by my display driver. I changed the code to allow the GDI to
manage the bitmap (so it is now a transparent bitmap) and the same thing
happens, BSOD. This happens on two machines, one laptop with win2k and a
desktop with XP (no service pack). I have traced the code in the display
driver and I found that the fault is occurring in the original display
driver in the DrvCopyBits function. The driver assumes that the
destination’s surface PDEV is one of its own and tries to access a pointer
that is pretty far [994 bytes] down in the PDEV structure. It appears that
the destination SURFOBJ actually is one from my mirror driver which has a
much smaller PDEV. The pointer is thus null and when the display driver
tries to access a member of this pointer, the BSOD occurs. My question is
whether it is possible to create a mirror driver that can have Device
Dependent Bitmaps? is there a requirement that they must be opaque,
transparent, or a completely separate surface?
In the sample mirror, it states that there is a bug in Windows 2000 Beta 3
that will crash the system if a mirror driver supports DDB but should be
fixed in w2k RC0. Has this bug ever been fixed?
Any information about this would be much appreciated.
Thank you
Jeffery Frazier