[Bug 2508] New: CreateFile(directory_name,GENERIC_WRITE,...) returns STATUS_FILE_IS_A_DIRECTORY

Wine Bugs wine-bugs at winehq.org
Sun Oct 10 16:13:55 CDT 2004


http://bugs.winehq.org/show_bug.cgi?id=2508

           Summary: CreateFile(directory_name,GENERIC_WRITE,...) returns
                    STATUS_FILE_IS_A_DIRECTORY
           Product: Wine
           Version: 20040914
          Platform: PC
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-files
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: shiva at sewingwitch.com


While testing the beta Tribes: Vengeance dedicated server, I found that it tests
for a writable directory with this sequence:

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,00004010,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

As you can see, this fails in NtCreateFile() (create_file() in server/file.c).

Running the program in Win2k with strace, I see this and think it's the
comparable call:

3169 2264 1668 NtCreateFile (0x40100080, {24, 0, 0x40, 0, 2288836,
"\??\K:\Games\tvserver\Server\Program\Bin\"}, 0x0, 0, 7, 1, 16416, 0, 0, ...
124, {status=0x0, info=1}, ) == 0x0

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list