Mirror driver on RDP machine

Hi,

I am working with RDP and I want to know if I use mirror(video) diver to filter/mirror display driver on RDP?

Also dose some one knows if the RDP itself uses same mirroring to display output on remote machine?

Nilesh

xxxxx@yahoo.com wrote:

I am working with RDP and I want to know if I use mirror(video) diver to filter/mirror display driver on RDP?

I can’t quite understand what you’re asking. It should be possible to
install a mirror driver in a Terminal Services, because it is an
ordinary display driver, although there is a certain amount of magic in
the Terminal Services driver management.

Also dose some one knows if the RDP itself uses same mirroring to display output on remote machine?

No. Terminal Services uses its own full display driver, one for each
session, completely separate from the display driver that drives the
console.


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

Thanks for reply Tim,

Actually I want to capture screen UI activities in RDP session. I want to know if I can use mirror driver to achieve that.

I installed DDK sample of mirror driver on a machine. I get UI messages of a native desktop however when I start RDP session of the same machine, I do not get any messages.

As you said the display driver in TS has some magic involved, will mirror driver able to work in that magic? Do we need to do some more configurations to make it work?

Nilesh

After installing mirror driver(from DDK sample) when I tried to enumerate the display devices with EnumDisplayDevices(), the function fails.

This function should be checking registry key HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\VIDEO\ for installed devices. When I checked this registry key, it contains the installed mirror driver(and few more video entries), still the function call returns failure.

Could some one tell why EnumDisplayDevices() fails even though the mirror driver (and some other drivers) is installed?

Nilesh

xxxxx@yahoo.com wrote:

Actually I want to capture screen UI activities in RDP session. I want to know if I can use mirror driver to achieve that.

I installed DDK sample of mirror driver on a machine. I get UI messages of a native desktop however when I start RDP session of the same machine, I do not get any messages.

As you said the display driver in TS has some magic involved, will mirror driver able to work in that magic? Do we need to do some more configurations to make it work?

I just don’t know the answer to that. The Terminal Services display
driver is called rdpdd.dll. If you look at the Services key for RDPDD
in the registry, it’s clear that it has some of the trappings of a
normal display driver (i.e., the Device0 subkey), but it has nothing at
all where the normal service information would go.

There is a good TechNet article here on Terminal Services internals:

http://technet2.microsoft.com/windowsserver/en/library/2cb5c8c9-cadc-44a9-bf39-856127f4c8271033.mspx?mfr=true
The description here seems to imply that the session startup uses a
separate mechanism to load rdpdd.dll and rdpwd.sys

Remember that the whole mirror driver mechanism was a more-or-less
accidental byproduct of the multimonitor support added in Windows 2000.
If the Terminal Services driver doesn’t use the multimonitor layer, then
a mirror driver isn’t going to work.

Perhaps we can get a response from someone with more current knowledge
of Terminal Services.


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

Yes, the TS display drivers apparency resembles to the normal display driver or more specifically mirror display driver(driver service registry key has “MirrorDriver” entry). However there are some (??) behavioral differences in them.

Dose any one know if the TS display driver support mirroring? If yes how can we do that?

Thanks,
Nilesh

Any inputs on this please!!!

Nilesh