Windows reserves certain filenames (CON, PRN, AUX, NUL, COM0-COM9, LPT0-LPT9) inherited from DOS for backward compatibility. These names are case-insensitive and cannot be used with extensions either. While Win32 APIs enforce this restriction, the underlying file systems (NTFS, FAT32, ReFS) do not — meaning WSL or the `\?\`
Table of contents
## Win32 API vs. File System## Creating reserved files with WSL## Accessing reserved files in .NET## Bypassing the restriction## Additional resourcesSort: