When the file is locked on Windows, you can open it ok but you get an error when you attempt to read from it.
I'm trying to think of a situation wherein that behaviour would be useful
or helpful, and I'm coming up blank. Now, if you only got an error when
you tried to write to the file, I can see how that could be useful, but
only when you try to read? If you can't even read, what's the point
in being able to open?
But if that's the way it's always been, that's the way it'll stay.
ISVs will have found thousands of ways to rely on the existing behavior,
even if it makes no sense, and changing it would break them all.
So you may as well join them and actually (try to) read from the
file to see if it's locked or not.
Sanity? Oh, yeah, I've got all
kinds of sanity. In fact, I've developed whole
new kinds of sanity. You can just call me
"Mister Sanity". Why, I've got so much sanity it's driving me crazy.