CreateFile GENERIC_WRITE on a directory

ScratchMonkey ScratchMonkey.blacklist at sewingwitch.com
Sun Oct 10 13:49:48 CDT 2004


Not sure if this should be in -users, but I'm trying to get the Tribes: 
Vengeance dedicated server going (1st person shooter) and it stops with a 
messagebox that it can't write to its own directory. Tracing the program 
with +relay reveals this:

000b:Call kernel32.CreateFileW(10415fc0 L"Z:\\home\\vengeance\\Server
\\Program\\Bin\\",40000000,00000007,00000000,00000003,02000000,00000000) 
ret=1015b46d
000b:Call ntdll.RtlIsDosDeviceName_U(10415fc0 L"Z:\\home\\vengeance\\Server
\\Program\\Bin\\") ret=554b4506
000b:Ret  ntdll.RtlIsDosDeviceName_U() retval=00000000 ret=554b4506
000b:Call ntdll.RtlDosPathNameToNtPathName_U(10415fc0 L"Z:\\home\\vengeance
\\Server\\Program\\Bin\\",559bebb0,00000000,00000000) ret=554b42c7
000b:Ret  ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=554b42c7
000b:Call ntdll.NtCreateFile
(559beba4,40000000,559bebb8,559beba8,00000000,00000000,00000007,00000001,00
004010,00000000,00000000) ret=554b438f
000b:Ret  ntdll.NtCreateFile() retval=c00000ba ret=554b438f
000b:Call ntdll.RtlNtStatusToDosError(c00000ba) ret=554b43bd
000b:Ret  ntdll.RtlNtStatusToDosError() retval=00000005 ret=554b43bd
000b:Call ntdll.RtlFreeUnicodeString(559bebb0) ret=554b43cc
000b:Ret  ntdll.RtlFreeUnicodeString() retval=00000001 ret=554b43cc
000b:Ret  kernel32.CreateFileW() retval=ffffffff ret=1015b46d

Decoding the parameters to CreateFile show it trying to open the directory 
for GENERIC_WRITE. I'm about to dig into the wine sources but am hoping 
someone can spot the problem more quickly than me.

I'm using the 20040914 source RPM from NewRPMs.




More information about the wine-devel mailing list