While trying to solve an issue with Rust and Ruffle Flash Player, I found an incompatibility with a particular Win32 API call.
Steps to Reproduce:
Install OSFMount
Mount a disk image as drive X:
Use CreateFileW on a file on the disk image (my path: "X:/flash Movies/11-29-04-thanksgiving.swf")
Call GetFinalPathNameByHandleW on that handle, using FILE_NAME_NORMALIZED
Instead of getting a filename back (like "X:/flash Movies/11-29-04-thanksgiving.swf"), you get 0, and GetLastError returns 1 (ERROR_INVALID_FUNCTION).
If you call GetFinalPathNameByHandleW using VOLUME_NAME_NT, you get a different path back, "\Device\OSFMDisk0\Flash Movies\11-29-04-thanksgiving.swf", but this path isn't usable with CreateFileW.
Steps to Reproduce:
Install OSFMount
Mount a disk image as drive X:
Use CreateFileW on a file on the disk image (my path: "X:/flash Movies/11-29-04-thanksgiving.swf")
Call GetFinalPathNameByHandleW on that handle, using FILE_NAME_NORMALIZED
Instead of getting a filename back (like "X:/flash Movies/11-29-04-thanksgiving.swf"), you get 0, and GetLastError returns 1 (ERROR_INVALID_FUNCTION).
If you call GetFinalPathNameByHandleW using VOLUME_NAME_NT, you get a different path back, "\Device\OSFMDisk0\Flash Movies\11-29-04-thanksgiving.swf", but this path isn't usable with CreateFileW.
Comment