The best way is for the future the first, removing '\?' in Odin and Wine.
This way will need some times in odin, we are not prepaired for this,
And I have no update access for wine. I will try to inform wine about
the problem. I thing You have implemented this methods and You modify
this without full forthing w98-api. This can us help for this build. We
can test BC2.1 and can work with them as w2k(without , and we can also
test the new api modifications.
The switch should only force the w98 behavior in the path handling.
For 'all', Odin and Wine can set the configuration-file.
And Wine and Odin should work in the next time at the \?\ problem.
Please save also the last BC2.0 Build.
Hi Dietrich,
That would definitely cause problems in BC. We detect the Windows
version on startup and when running under WinNT4/2K/XP we use the \?\
notation for all file access, including sessions and rules. Under
Win9x we use the standard ANSI functions.
In our current usage it wouldn't be a problem if ODIN simply removed
the \?\ prefix and converted the paths back to ANSI. If it would be
easier I can add a command line switch to force BC to use the Win9x
behavior.
Best Regards,
Craig
Hi Craig,
I know where the problenm is in the comunication between BC21 and Odin.
BC21 used only the long path notation for the filenames if the version
set in Odin (Wine ?) as w2k or xp. If I set Win98 (nt4.0?), I have no
problems with accessing folders.
Currently is the \?\h:... notation only partialy supported in
Odin (for eCS or OS/2) and in
wine (for Linux).
Start in native w98 ok,
also in my xp
Also in w98 in virtual PC.
Can it be that many problems comes from the \?\ prefix ?
Also no access to the session database ?
Best regards,
Dietrich
Log as w2k
t01 ( 0): (FS=150B) KERNEL32: GetVersionExA 19ee88
t01 ( 0): (FS=150B) Kernel32:Odin profile:('WinVersion','Version',''):
returning 'Win2000'
t01 ( 0): (FS=150B) version 5.0
t01 ( 0): (FS=150B) build nr 893
t01 ( 0): (FS=150B) Platform Id 2
t01 ( 0): (FS=150B) szCSDVersion Service Pack 2
...
t02 ( 0): attachThread to dll NTDLL.DLL
t02 ( 0): attachThread to dll NTDLL.DLL DONE
t02 ( 0): attachThread to dll GDI32.DLL
t02 ( 0): attachThread to dll GDI32.DLL DONE
t02 ( 0): KERNEL32: ResetEvent 33
t02 ( 0): KERNEL32: ResetEvent returned 1
t02 ( 0): KERNEL32: ResetEvent 2f
t02 ( 0): KERNEL32: ResetEvent returned 1
t02 ( 0): KERNEL32: GetDriveTypeA 2003f1b8
t02 ( 1): KERNEL32: GetDriveType h:\ = 3
t02 ( 0): KERNEL32: GetDriveTypeA returned 3
t02 ( 0): KERNEL32: GetFileAttributesW 3016994
t02 ( 1): KERNEL32: SetLastError to 123
t02 ( 1): KERNEL32: GetFileAttributes of \?\h:\ returned -1
t02 ( 0): KERNEL32: GetFileAttributesW returned ffffffff
t02 ( 0): KERNEL32: GetLastError returned 123
t02 ( 0): KERNEL32: SetLastError to 123
t02 ( 0): KERNEL32: RaiseException eedfade 1 7 327fd80
t02 ( 1): KERNEL32: RaiseException(0eedfadeh)
t02 ( 1): KERNEL32: RtlDispatchException entered
t02 ( 1): Win32 exception chain:
Log as w98
t01 ( 0): (FS=150B) KERNEL32: SetEnvironmentVariable HOMEPATH to \
t01 ( 0): (FS=150B) KERNEL32: GetVersionExA 19ee88
t01 ( 0): (FS=150B) Kernel32:Odin profile:('WinVersion','Version',''):
returning 'Win98'
t01 ( 0): (FS=150B) version 4.a
t01 ( 0): (FS=150B) build nr 40a07ce
t01 ( 0): (FS=150B) Platform Id 1
t01 ( 0): (FS=150B) szCSDVersion Win98
..
t02 ( 0): attachThread to dll GDI32.DLL
t02 ( 0): attachThread to dll GDI32.DLL DONE
t02 ( 0): KERNEL32: ResetEvent 33
t02 ( 0): KERNEL32: ResetEvent returned 1
t02 ( 0): KERNEL32: ResetEvent 2f
t02 ( 0): KERNEL32: ResetEvent returned 1
t02 ( 0): KERNEL32: GetDriveTypeA 2003ea14
t02 ( 1): KERNEL32: GetDriveType h:\ = 3
t02 ( 0): KERNEL32: GetDriveTypeA returned 3
t02 ( 0): KERNEL32: GetFileAttributesA 2003e9f4
t02 ( 1): KERNEL32: GetFileAttributes of h:\ returned 16
t02 ( 0): KERNEL32: GetFileAttributesA returned 10
t02 ( 0): KERNEL32: SetErrorMode 1
t02 ( 1): KERNEL32: SetErrorMode(00000001h)
t02 ( 0): KERNEL32: SetErrorMode returned 0
t02 ( 0): KERNEL32: GetVolumeInformationA 2003ea24 329fc8b 104 2003ea3c
2003ea40 2003ea44 329fb86 104
t02 ( 1): GetVolumeInformationA h:\
t02 ( 1): KERNEL32: SetErrorMode(00000001h)