fix: add Win32_Storage_FileSystem feature and improve handle closing logic (#17374)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:
- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->
## Summary
fix https://github.com/astral-sh/uv/issues/17174 mentioned the invalid
issues here:
results of diagnostics:
before:
```
--- TRAMPOLINE DIAGNOSTICS: STARTUP ---
STDIN: Handle=184
-> Console Mode: 503
STDOUT: Handle=536
-> Console Mode: 7
STDERR: Handle=540
-> Console Mode: 7
-------------------------------------------
--- TRAMPOLINE DIAGNOSTICS: AFTER CLOSE_HANDLES ---
STDIN: INVALID
STDOUT: INVALID
STDERR: Handle=540
-> Console Mode: 7
```
after:
```
--- TRAMPOLINE DIAGNOSTICS: STARTUP ---
STDIN: Handle=716
-> Console Mode: 503
STDOUT: Handle=580
-> Console Mode: 7
STDERR: Handle=604
-> Console Mode: 7
-------------------------------------------
--- TRAMPOLINE DIAGNOSTICS: AFTER CLOSE_HANDLES ---
STDIN: Handle=716
-> Console Mode: 503
STDOUT: Handle=580
-> Console Mode: 7
STDERR: Handle=604
-> Console Mode: 7
```
the problem was we were closing the handlers whatever they were from
pipes (byte streams) or consoles, this will make sure we close only the
handlers from pipes by using `FILE_TYPE_PIPE`
## Test Plan
<!-- How was it tested? -->
completely manual by adding debug statements and running a simple script
to open the pdb.