Problems with file creation, what means L"\\??\\C:\\" vs. L"C:\\"

Alexandre Julliard julliard at winehq.org
Thu Jul 14 05:52:11 CDT 2005


Tobias Burnus <tobias.burnus at physik.fu-berlin.de> writes:

> Hello,
> 
> I try to create a file with Origin 6.0 and saving (only) in Origin's internal
> format fails. Writing other file types (in Origin) to that directory
> works flawlessly.
> (Below the output using +file,+ntdll)
> 
> First, kernel/file.c's CreateFileW is called
> -------------
> trace:file:CreateFileW L"C:\\Program Files\\origin6.0\\UNTITLED.OPJ"
> GENERIC_READ GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE  creation 5
> attributes 0x80
> -------------
> (creation 5 = TRUNCATE_EXISTING; attributes 0x80 = FILE_ATTRIBUTE_NORMAL)
> 
> which then calls NtCreateFile:
> 
> -------------
> trace:ntdll:NtCreateFile handle=0x406de164 access=c0000000
> name=L"\\??\\C:\\Program Files\\origin6.0\\UNTITLED.OPJ"
> objattr=00000040 root=(nil) sec=(nil) io=0x406de168
> alloc_size=(nil)attr=00000080 sharing=00000001 disp=1 options=00000050
> ea=(nil).0x00000000
> -------------
> (access=c0000000 = GENERIC_READ|GENERIC_WRITE = 0x80000000|0x40000000 
> objattr=00000040 = OBJ_CASE_INSENSITIVE)
> 
> Which fails then with:
> -------------
> warn:file:wine_nt_to_unix_file_name L"UNTITLED.OPJ" not found in /home/wine/.wine/dosdevices/c:/Program Files/origin6.0
> warn:ntdll:NtCreateFile L"\\??\\C:\\Program Files\\origin6.0\\UNTITLED.OPJ" not found (c0000034)
> warn:file:CreateFileW Unable to create file L"C:\\Program Files\\origin6.0\\UNTITLED.OPJ" (status c0000034)
> trace:file:CreateFileW returning 0xffffffff
> -----------
> 
> Except for the L"\\??\\" whick looks odd to me, I frankly have no idea
> what's going wrong. Any tips welcome.

The \??\ is the NT prefix, that's normal. The problem is apparently
that the app wants to create a new file using TRUNCATE_EXISTING, which
fails if the file does not exist. So either the file should have been
created earlier on, or the app is using the wrong creation argument
for some reason.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list