On Wed, 28 Jan 2004, Robert K. wrote:
Right, but changing the Win32 API is bound to break compatability; and
thats an important goal of ReactOS. But thats okay, the architecture of NT
allows for more than one subsystem. You could write a Native API program
if you really wanted to (most of the Win32 facilities are there for you in
"raw" form) or you could write your own OS API via a subsystem.
excuse me to correct: It's not an API or ABI change but a semantic
change. Semantics of file naming. However it can be made either
compatible or not.
Well, the semantic change will break a lot of programs that parse file
names. There is lots of *shitty* code out there in the Win32 world.
Correct me: Does the win32 API has got a function to
test file name
semantics? UNC-names are widely understood. And since common dialogs, i
think noone does real name checking.
I work on code that does this kind of crap daily (don't ask, I hate this
job). But when the code I work on gets a UNC name, it uses the WNet API
its self, when it sees anything else it expects a 1-character drive
letter.
I didn't write this garbage and don't want to touch it any more than I
have to, but there is *lots* of code out there that does similar things.
It also seems to avoid common dialogs too for whatever reason. [*]
But the bottom line is that the semantics are part of the API. The best
you could do is a UNC path like:
\\myhost\root\blah\blah
And then *really* SMB serve that to yourself locally. It seems like a lot
of effort for very little gains.
I think your embedded -adapted api is a good idea.
AFAIK M$ is working
on s.t. like this removing a lot of deprecated calls, like apple did
with carbon. But will MS break compatibility?
Some of the compatability code in Windows is scary. They tend to detect
what app is running and adjust for that in a lot of places (seriously).
ReactOS shouldn't be littered with that kind of garbage, but changing the
semantics is going to break a lot of existing code.
[*] The code at my current place of employment was written back in the 3.1
days and not very well to begin with. Age hasn't been kind to it. I have
zero intention of fixing it. I am just going to browse slashdot until I am
canned.