I am trying to come up with something similar to Microsoft's Terminal
Services but am having unfortunately some starting difficulties. Mainly
I am looking into how to log on additional users into a full desktop
I have found such a kind of feature in the SU implementation "SUperior
SU" for Windows, where its FAQ -
states there are several differences between its own implementation and
the Terminal Services/Fast User Switching.
Would anyone have a hint about the right APIs respectively could point
me into the right direction (I would assume LogonUser() and
CreateDesktop() might be two key functions).
Thanks very much.
Re: Terminal Services
> Would anyone have a hint about the right APIs respectively could point
> me into the right direction (I would assume LogonUser() and
> CreateDesktop() might be two key functions).[/color]
I don't understand what you want to do but TS apis are mainly WTS* apis :
Re: Terminal Services
Sten Westerback (MVP SDK 2005-6 :) wrote:[color=blue]
> The correct API to use is called Win32 API ;)[/color]
The Misc API might be interested too however (given you referred to the
cross posting ;))
> I would suggest you use http(s) from communication unless you want to make
> life easier and use a named pipe with it's built-in authetication (asuming
> you have a domain).[/color]
Well, to be honest I am not having such a big experience with named
pipes so I would likely go with IP (whether UDP or TCP and if TCP
subsequently HTTP is yet to be decided), aside that I suppose it could
be problematic via Internet connections.
> A desktop is needed so the working thread(s) of processes started have
> something to draw on (or at least a console if that's all you need).[/color]
Sure, my initial concern was that the desktop/session isolation wouldnt
really be given by using the "regular" calls, which doesnt seem to be
the case with Terminal Services.
This appears of having been confirmed by several responses to the same
question in microsoft.public.win32.programmer.kernel.
> If you choose to log on on the server side, make sure you know what you are
> doing securitywise (don't send password to server side in cleartext).[/color]
> To transfer screens you need either to hook everything and send the result
> over or take snapshots of what you have from the desktop hwnd and send that
> over (compressed).
> Finally, most importantly, you need to convince someone that none of the
> comercial products available, MS Terminal Services and Citrix ICA, are
I guess they are all suitable. Mine (if realised) would be just another
option. Aside that there are still hundreds of other's (even if they
usually do not provide individually sessions but only cover the logged
Also I havent yet decided whether I want to make it open source or a
commercial product, although I tend to the latter at the moment.
> FUS and TS are basically the same... FUS is just a bit more "open to home
My initial doubt was whether I could use the FUS/TS APIs to implement
such a service or whether they only provide interaction with their
service itself and I'd have to use the "regular" APIs, here the latter
seems to be the case as well (as indicated by the responses to the
> - Sten[/color]
Thank you very much Sten!