B>А в случае с mirror драйвером нам просто нет нужны снимать скриншоты — он нам говорит что изменилось и мы эти части отсылаем. Как-то так вроде было...
Ну с этим я согласен. Хотя к данной задаче оно вряд-ли имеет отношения — задание вроде тестовое, а тут целый драйвер — сложно это. Если делать в реальном проекте — то этот вопрос можно было рассмотреть.
В VNC (на сколько я помню — давно исходники смотрел), просто перехватывались WM_PAINT у окон и эти прямоугольники считались нужными к передаче. Вариантов много.