On 9/18/22 11:20, Daniel Lehman (@dlehman25) wrote:
On Sun Sep 18 12:40:19 2022 +0000, Jinoh Kang wrote:
I asked before, but I don't think I got an answer: what's
unimplemented about the "io" parameter? It's not obvious just from reading the function. As shown in the tests, the implementation's behaviour regarding `io` is not precise. On Windows 10, supplying an invalid address results in `STATUS_ACCESS_VIOLATION`; however, this implementation (and Windows < 10) simply fails with `STATUS_NOT_FOUND`. This is indicative of the Windows implementation actually doing *something* with the block, so it's worth a FIXME until the behaviour matches Windows. Also, the FIXME won't cause much noise as it's not a common case (e.g. `CancelSynchronousIo` does not use it).
it doesn't fit neatly into either implemented or unimplemented. it appears to be used in some way, but not an important one
after your question, i had added some wine tests that showed it affects the return value on 32-bit vs 64-bit windows but not the overall intended behavior
how about a different phrase, like 'Unused parameter'?
But it's not unused. We're interpreting it as a filter. If that's not correct, maybe we should remove that part of the implementation?