One of the annoyances/features of Windows is that once a file is opened nothing can be done on the file directory entry itself. i.e. you cannot move the file somewhere else while it is open etc. This is useful to make sure some operations do not go bonkers and have some predictability.
However, a lot of UNIX tools disassociate the file directory entry from the i-node entry and allow you to move/delete/rename a file and the existing file handle that points to the old name still works. I was wondering if WSL's implementation also has the same property?
the older APIs
?? CreateFile() (what most real programmers use.. yes to open files too) and OpenFile() are how you create and open files in windows since Windows 95 (and before) and are still the one and only way to do it today. All user mode file access calls map to them I believe.