Alberto Massari wrote: I guess Wine is converting the NULL into ?? to be able to store it as a string.
Shachar Shemesh wrote:
You guessed wrong. The leading ?? is there under both Wine and Windows 2000, and in both cases there is ALSO a NULL. As neither Wine nor Windows 2000 then accepts that as a valid path, I'll just remove it. I was just wondering whether anyone knows why Windows 2000 puts that extra stuff in (it's obvious why wine does that - to be compatible).
I'm not sure about ??, but see this excerpt from MSDN Re CreateFile:
lpFileName [in] Pointer to a null-terminated string that specifies the name of the object to create or open.
In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\?" to the path. For more information, see Naming a File.
Windows 95/98/Me: This string must not exceed MAX_PATH characters.