I have an ActiveX Control built with MFC.
I want to make it compatible with Internet Explorer Enhanced Protected Mode (EPM) (which is turned on by default in Windows 8.1).
After marking the control compatible with Internet Explorer Enhanced Protected Mode I can no longer use CFile for reading or writing files in the temp directory.
The temp directory which you can read/write in EPM is for example C:\Users\USERNAME\AppData\Local\Packages\windows_ie_ac_001\AC\Temp\
But you can not read the parent path.
The problem is:
If you call MFC "CFile::Open", this one calls "_AfxFullPath2" and this one calls "GetVolumeInformation".
The function "GetVolumeInformation" fails (because you are not allowed to read the volume?), at the end the whole "CFile::Open" fails.
If you use a normal "CreateFile" instead of "CFile" it works.
This is a bad situation because now CFile is no longer compatible with IE11 on Windows 8.1. CFile is used everywhere in our codebase.
I also had a look at the Visual Studio 2013 RC but the source code of CFile is not changed at this point.