F Lace wrote:
Hello Wine Folks,
Thanks to google, I learnt about Wine's existence. I havent tried it yet, looking through the website, documentation and source code, I am delighted!
I am browsing through some DLL implementation source one by one, but I got stuck at the first one itself(kernel32/files) and got confused with various file path formats.
Following are some of the path names I could collect reading through different documentation and I also got a few from my friends who are windows developers.
http://www.winehq.com/site/docs/wine-devel/x3016 is your friend
To list my confusion, I have a few questions reading the source:
- Do UNC paths really start with "UNC"? I havent seen any, I thought
they start with just "\share"
the Win32 form is \share... the NTDLL form starts with UNC..
- Does "\?" denote a UNC path that refers to the local machine?
no, it's a long path (len > MAX_PATH) in Win32 form
- Wine's RtlDetermineDosPathNameType_U says //./foo is a device path,
what does this translate to this path is given to NtCreateFile?
there are a few hardcoded names here, + winecfg:ed drives + VxDs
- Wine's NtCreateFile seems to specially handle only PIPEs and
MAILSLOTs. How does it handle the other types that I listed below? (\Device..., ??\Volume, :{...}, etc
\Device, nor Volume are handled
- How do you determine from the NT path if it is a path to a device?
check wine_nt_to_unix_path_name A+