The upcoming Vista SP1 promises 3 new Terminal Server API functions:
- WTSConnectSession : Connects a Terminal Services session to an existing session on the local computer.
- WTSStartRemoteControlSession: Starts the remote control of another Terminal Services session.
- WTSStopRemoteControlSession : Stops a remote control session.

But as you might know Wtsapi32 is just a bunch of wrappers around the actual API’s. If we take a look at (delayed) import sections we can see where the actual API’s are:

So in fact, nothing has changed! These API’s are in Winsta.dll since Windows 2000 but were (as everything else in Winsta.dll) never documented. Why? Maybe because the Terminal Server API was inherited from Citrix? If you know more about the reason let me know!
Oh I’d almost forget… If you can’t wait until SP1 to use shadowing in Vista why not use the commandline shadow tool I made for this article?
Screenshots:

As always: It would be nice to leave a comment and take a look in the Terminal Server Category for related articles.
[...] Yesterday I attended the Citrix Solutions Conference in Antwerp. Brad Pedersen (Chief Architect and Senior Fellow at Citrix Systems) held an interesting speech about The End User Experience. I liked especially liked the part about the history of Citrix and the early versions of their products like Wincredible and Winframe. Since Brad wrote the original code for Citrix and thus Terminal Server (the stuff that is in winsta.dll now) I hoped he could share some info with me on the undiscovered parts of winsta.dll. Unfortunately Brad could not do this because of a non disclosure agreement with Microsoft. He did tell me that Citrix is pushing Microsoft to make more Terminal Server API’s public. I presume that’s why Vista and Windows 2008 offer some new API’s which I wrote about earlier. [...]