Can you give some examples what do you mean with "exposed as pipe but pipe's operation doesn't work"?
Run Wine program with stderr piped somewhere through '|'. Or to a file created with mkfifo. That will be reported as pipe in GetFileInformationByHandle, but if an app (like some runtimes do) will then expect some pipe operations to work that will fail similarly to what happens with python vs files without name retrieval not working.
Yeah, it doesn't handle those (purposefully). Do you think we should change `GetFileInformationByHandle` instead somehow?
https://gitlab.winehq.org/wine/wine/-/merge_requests/1425 : I apparently though so, but everything happened as Alexandre had foresaw in the comment there. Same or different runtimes expect then normal file operations to work. And IIRC reporting something weird like unknown or serial device doesn't universally work too I am not sure if we have any good option here of both keeping Unix fd integration and making this fully correct.