UNC
Uniform Naming Convention, specifies a common syntax to describe the location of a network resource, such as a shared file, directory, or printer. The UNC syntax for Windows systems is as follows:
\\computername\sharedfolder\resource
where 'computername' is the hostname, 'sharedfolder' is a shared directory with a name chosen by the host providing the share, and 'resource' is a shared directory, file, or printer. The hostname may also be identified by a fully-qualified domain name or by IP address. The 'sharedfolder' may exist anywhere on the remote host system, and is not restricted to the filesystem root directory.
Unix-like systems occasionally use a similar syntax, with forward slashes ( / ) in place of backslashes ( \ ), but usually write the syntax as computername:/directory/resource [3] or, like URLs, for example smb://computername/sharedfolder.
The UNC method started with the UNIX operating system. UNIX systems use the forward-slash character as a path separator. Many network services such as FTP have their origins in the UNIX operating system, so they use forward-slashes instead of the backslashes that DOS/Windows uses. It is important to recognize this distinction when using these services.
The "Long UNC" or "UNCW" format works with many - but not all - of the Windows 'W' ('W' suffix to the WinAPI routine, indicating wide, for wchar_t path names which are UCS2 based) looks as follows:
\\?\UNC\ComputerName\SharedVolume\Resource
The different types of paths in Windows are local file system (LFS), such as C:\File.ext, uniform naming convention (UNC), such as \\Server\Volume\File.ext, and Long UNC or UNCW, such as \\?\C:\File.ext or \\?\UNC\Server\Volume\File.ext.
One of the differences between LFS and UNC versus Long UNC is that LFS and UNC are limited to MAX_PATH (260 characters) and may be in ACP or UCS2 formats. Whereas Long UNC is limited to 30,000+ characters and must be in UCS2.
ACP stands for "ANSI Code Page", which is somewhat of a misnomer since none of the Windows code pages are actually ANSI compliant. The Windows operating system specifies a particular code page as the ACP, which then is used as the default / fallback code page for the 'A' suffixed path APIs. The ACP routines have the shortcoming in that they cannot represent all file paths that are representable in the operating system; they can only represent the character subset of Unicode UCS2 paths which have characters in the particular code page's character set.
Source: Wikipedia
|