Fixes a regression with af35741d.
---
The EA Games launcher depends on `GetFinalPathNameByHandleW` returning a path *without* a trailing slash for directories, even if the handle was opened with one. After af35741d, we now use the server's notion of the fd path (via `NtQueryObject(ObjectNameInformation)`), which will include a trailing slash if that's how the path was specified when opened.
A quick test on Windows show that `NtQueryObject(ObjectNameInformation)` for file handles returns a `\Device\...` path. (This is why I didn't add tests for its behavior.) For directories, `ObjectNameInformation` will only return a trailing slash for the root of a device - e.g. `\Device\HarddiskVolume3\` for `C:\`, but `\Device\HarddiskVolume3\Windows` for `C:\Windows\`.
Since our `NtQueryObject(ObjectNameInformation)` already doesn't match native (we return `\??\` paths), arguably this change should be made in `GetFinalPathNameByHandleW`. It seemed cleaner in the server though, as we immediately know whether a path points to a directory.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8528
--
v4: winegstreamer: Output compressed samples from the media source.
winegstreamer: Stop on unparsed H.264 in autoplug-continue.
winegstreamer: Explicitly append an H.264 parser for H.264.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5988
As discussed in !8402. @cmccarthy what do you think of this? I think queueing an event right before shutting down the queue is enough to get the media session notified? It won't get the actual event but it will be able to see the MF_E_SHUTDOWN error after calling `EndGetEvent`?
--
v5: include: Remove now unnecessary IMFMediaShutdownNotify interface.
mf/session: Remove now unnecessary IMFMediaShutdownNotify.
winegstreamer: Remove now unnecessary IMFMediaShutdownNotify.
mf/session: Handle an optional MEError event from sources on shutdown.
winegstreamer: Queue an event before shutting down the event queues.
mfsrcsnk: Queue an event before shutting down the event queues.
mfplat/tests: Add more tests for event queue shutdown.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8415