Mirror driver basic question.

I have very basic doubt but I thougt I should clear it.
I was goign through mirror driver documents and it looks like it is similar
to graphics driver but its miniport driver is used just to initialized.
Most of the things are handled in display driver i.e. .dll.
Now my doubt is then why we need to have miniport driver for mirror driver?
Without that can I hook GDI calls?

Ravi Gupta wrote:

I have very basic doubt but I thougt I should clear it.
I was goign through mirror driver documents and it looks like it is
similar to graphics driver but its miniport driver is used just to
initialized. Most of the things are handled in display driver i.e. .dll.
Now my doubt is then why we need to have miniport driver for mirror
driver?

XPDM display drivers are always implemented as a pair: display driver
and miniport. The miniport is a PnP driver. It’s loading is partly
what triggers the search for a matching display driver. Even if the
miniport is a no-op, it must be present.

The origins of this scheme go all the way back to NT 3, when display
drivers were all in user-mode. You had to have a kernel helper.

Without that can I hook GDI calls?

Not sure what you mean. Remember that a mirror driver doesn’t “hook”
GDI calls either. A mirror driver receives all of the same drawing
calls as the main display driver(s), but the mirror driver has to
maintain its own copy of the desktop.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.