# Some more notes

David Bolen db3l at fitlinxx.com
Mon Oct 25 19:06:50 CEST 2004

Peter Hansen <peter at engcorp.com> writes:

> Have you verified that those calls would *not* accept
> something like "\\machine/share/path/file"?

Nope.  Actually, I don't think that was even applicable since the call
I'm recalling took a UNC machine name but not a full path, so the only
thing in the parameter was the machine portion.  Although maybe it did
include the share level.

> If they accept this, then I would simply argue that the \\machine
> part has nothing to do with a path, other than the accident
> of sharing (but doubling) the backslash that we're used to
> in Windows paths.  It's a machine name, not a path, similar to
> how C: is a drive name, not a path, and therefore needs special
> handling.

I suppose, but I certainly saw UNC as a logical extension of path
semantics to cross the network boundary (and imagine that the choice
of \\ was logically consistent with that approach).  It was a way to
layer a level "above the root" of the filesystem into a path naming
convention.

> After all, you don't expect to be able to use C/ instead of C:,
> and I don't think one should necessarily expect //machine to

Well, we clearly expect different things, which is fine, and shows the
variety in the universe :-)

At least for me, knowing that the API permitted me to use
logical it would permit "//machine/share/path/file.ext" for
"\\machine\share\path\file.ext".  Or at least desirable.

> This is mostly supposition/theory/wild hand-waving, however.
> I don't know the reality.  If you post a few of the APIs that
> you mention, I can try to disprove my theory.

I'll see if I can find at least one again and forward it over.  I seem
to recall it was while using some of the win32net wrapped APIs to
interrogate things on a remote server.

But I'm also willing to just agree that it only impacts the machine
spec and that you could consider that distinct from any path
operation.  I was really just qualifying the general comment about
Win32 accepting forward slashes in all system calls.

-- David