Eryk Sun added the comment:
Here's an implementation of _Py_CreateFile2() and win32_xstat_impl():
typedef struct {
DWORD type;
DWORD attributes;
DWORD reparseTag;
} _PY_CREATE_FILE_INFO;
static HANDLE
_Py_CreateFile2(LPCWSTR lpFileName,
DWORD dwDesiredAccess,
Eryk Sun added the comment:
> switch to the newer CreateFile2() function
Apparently we need to allow FILE_SHARE_READ if CreateFile2() is used to
implement os.stat(). It's not a big deal, but this is a design flaw.
CreateFile2() always uses the kernel I/O flag FILE_DISALLOW_EXCLUSIVE [1] when
New submission from Eryk Sun :
Issue 46490 proposes to support follow_symlinks in os.utime() on Windows.
Instead of duplicating the os.stat() implementation of follow_symlinks, I
suggest factoring out a common _Py_CreateFile() function with two additional
parameters: traverse (input) and pFil