This Microsoft article has a good description of
Naming Files, Paths, and Namespaces - Win32 Device Namespaces.
The article says :
\\.\ prefix will access the Win32 device namespace instead of
the Win32 file namespace. This is how access to physical disks and
volumes is accomplished directly, without going through the file
system, if the API supports this type of access. You can access many
devices other than disks this way (using the CreateFile and
DefineDosDevice functions, for example).
For example, if you want to open the system's serial communications
port 1, you can use "COM1" in the call to the CreateFile function.
This works because COM1–COM9 are part of the reserved names in the NT
namespace, although using the
\\.\ prefix will also work with these
device names. By comparison, if you have a 100 port serial expansion
board installed and want to open COM56, you cannot open it using
"COM56" because there is no predefined NT namespace for COM56. You
will need to open it using
\\.\ goes directly to
the device namespace without attempting to locate a predefined alias.
Another example of using the Win32 device namespace is using the
CreateFile function with
\\.\PhysicalDiskX (where X is a valid
integer value) or
\\.\CdRomX. This allows you to access those
devices directly, bypassing the file system. This works because these
device names are created by the system as these devices are
enumerated, and some drivers will also create other aliases in the
system. For example, the device driver that implements the name "C:\"
has its own namespace that also happens to be the file system.
APIs that go through the CreateFile function generally work with the
\\.\ prefix because CreateFile is the function used to open both
files and devices, depending on the parameters you use.
If you're working with Windows API functions, you should use the
\\.\ prefix to access devices only and not files.
Most APIs won't support
\\.\; only those that are designed to work
with the device namespace will recognize it. Always check the
reference topic for each API to be sure.
This device-addressing convention should always work in the Command Prompt (cmd),
beside other applications.