Mirror Driver Multi-Monitor

I was able to extend the mirror driver sample to capture screen content and send it to the application for single monitor system. Now, I am looking at multi-monitor case.
I need few clarifications regarding mirror driver for multi-monitor systems.

As per the msdn document “A driver in a multiple-monitor system need only track its position within the global desktop”.

  1. Does that mean there will be only one global surface based on clip region(which can span over multiple monitors) and driver get calls for that region only?

  2. Will mirror driver have any idea about the number of monitors present and their layout?

3)How easy it is to maintain separate PDEV for each monitor?

Thanks.

xxxxx@gmail.com wrote:

I was able to extend the mirror driver sample to capture screen content and send it to the application for single monitor system. Now, I am looking at multi-monitor case.
I need few clarifications regarding mirror driver for multi-monitor systems.

As per the msdn document “A driver in a multiple-monitor system need only track its position within the global desktop”.

  1. Does that mean there will be only one global surface based on clip region(which can span over multiple monitors) and driver get calls for that region only?

There is only one “desktop,” of essentially limitless size (OK, not
really). A single display driver handles some portion of that desktop.
Some display drivers shove their view out to a monitor. Some display
drivers shove their view out to a network, some to a bitmap.

There is no relationship between the regions covered by the various
display drivers. They’re just rectangles. They can be discontiguous,
or they can overlap. A certain area of the desktop might be covered by
multiple display drivers, or might be covered by none at all.

A mirror driver can cover as much of the desktop as it wants. It
doesn’t know whether one or more physical monitors are also handling
that part of the desktop.

  1. Will mirror driver have any idea about the number of monitors present and their layout?

No.

3)How easy it is to maintain separate PDEV for each monitor?

No such thing. Your mirror driver covers a part of the desktop, not
part of a monitor. You could have a user-mode helper application that
enumerates the current set of displays, builds a topography, and then
notifies the mirror driver so it can cover the union of all of the
rectangles, I suppose.


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