Hi, I tried to run advanced terminal server client (or actually it's active/x component) under wine, but it does not seem to work. :( I also built my own client with delphi (added the active/x component in it and set the server and user name properties and called connect-method) and both of these suffer same problems: Client starts OK Clients connects OK and login screens etc are transmitted over the network. The active/x component's window stays white. The mouse cursor reacts correctly, but nothing is drawn on screen. a couple of err:ntdll:RtlpWaitForCriticalSection Critical section 0x408aa170 wait timed out, retrying (60 sec) fs=008f is printed on screen and application is pretty much hung. I had to use native oleaut32.dll to get my own version running as it seems that built-in oleaut32 does not support typelib calls. The microsoft version does not need oleaut32 (or at least, it does not complain anything..). I've taken a couple of hundred of megabytes different debugmsg logs and tried to analyze them, but I couldn't find out why the window stays white. Any ideas where the problem might be? Any good trace messages which I should try to locate and then pinpoint the problem? - and yes, I know that 16-bit old client works just fine - and yes, there will be people who will cry why advanced client won't work in the next summer or autumn when m$ releases winxp which supports rdpv5 and 16-bit colors, what 16-bit client can't handle...
On Wed, 28 Mar 2001 02:33:23 +0300, "Timo Kujala" <tkujala@lut.fi> wrote:>a couple of >err:ntdll:RtlpWaitForCriticalSection Critical section 0x408aa170 wait timed >out, > retrying (60 sec) fs=008f >is printed on screen and application is pretty much hung.Here is the Wine code for this : NTSTATUS WINAPI RtlpWaitForCriticalSection( RTL_CRITICAL_SECTION *crit ) { for (;;) { EXCEPTION_RECORD rec; HANDLE sem = get_semaphore( crit ); DWORD res = WaitForSingleObject( sem, 5000L ); if ( res == WAIT_TIMEOUT ) { ERR("Critical section %p wait timed out, retrying (60 sec) fs=%04x\n", crit, __get_fs() ) Try to add before the ERR line something like: DbgUserBreakPoint(); and recompile. The debugger should fire right at this point. If it's setup that is:-/ Then use the debugger internal commands to disas the breakpoint address. You could also use the backtrace facility. Post this. Gerard
Timo Kujala <tkujala@lut.fi> wrote:> Hi,> I tried to run advanced terminal server client (or actually it's active/x > component) under wine, but it does not seem to work. :( I also built my own > client with delphi (added the active/x component in it and set the server > and user name properties and called connect-method) and both of these suffer > same problems:I was not able to get a client installed successfully under Wine, but after running hte installation it unpacked the payload and I am able to manually execute the mstsc.exe and it works "ok". slow as hell, but works nonetheless. -- Dean Benson bensode@ifxcorp.com