Sorry I haven't tested this myself, but MSDN says we can make a very long (more than MAX_PATH
ie. 260 chars) file name by specifying "Win32 file namespace":
- http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx#win32_file_namespaces Naming Files, Paths, and Namespaces > Win32 File Namespaces
That's easy with the CreateFile
API because its signature accepts LPCTSTR lpFileName
which incurs no restriction about the input length:
- http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx
CreateFile
function (Windows)
But how can we read such a long file name? W32_FIND_DATA
returned by FindFirstFile
contains only TCHAR cFileName[MAX_PATH]
.
- http://msdn.microsoft.com/en-us/library/windows/desktop/aa365740.aspx
WIN32_FIND_DATA
structure (Windows) - http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418.aspx
FindFirstFile
function (Windows)
Will we perhaps get 8.3 name instead when the actual file name doesn't fit into cFileName[MAX_PATH]
?