Alexey Borzenkov schrieb:
On 5/1/07, "Martin v. Löwis"
wrote: After doing some research I found that it seems to be impossible to use CreateFile for a file that doesn't have SHARE_READ. So what about GetFileAttributesEx? What are the conditions under which I can successfully invoke it?
Seems to have the same problems as with CreateFile(...):
That code only tests it for pagefile.sys. My question was about open handles in general. Both Calvin Spealman and I found that you cannot reproduce the problem when you, in Python 2.5.0, open a file, and then try to os.stat() it - even though, in Python 2.5.0, os.stat() will perform GetFileAttributesEx. So even though we opened the file with not passing any sharing flags, we could still do GetFileAttributesEx on it. I now studied the CRT sources, and it seems that if you use a regular open() call, the CRT will pass FILE_SHARE_READ | FILE_SHARE_WRITE to CreateFile. You would have to use _sopen in the CRT to create any kind of sharing conflict, and that isn't exposed in Python. So I guess we need continue using pagefile.sys as a test case. Regards, Martin