In a C++ project I have the constant E_FAIL selected.
The definition bar shows "#define E_FAIL _HRESULT_TYPEDEF_(0x80000008L)".
When I open the definition drop down list I see a second entry "#define E_FAIL _HRESULT_TYPEDEF_(0x80004005L)" which I think is the only correct one with my project settings.
The wrong entry 0x80000008 comes from c:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h and is only valid if _MAC is defined - which isn't in my case. VS intellisense gets it correct with the current #define set, showing only 0x80004005.
Can that be fixed for VAX as well?
E_FAIL is just one concrete sample. Identical behaviour for E_ACCESSDENIED and all the other defines which exist in different #define sets.
I see this with the latest VAX 2210 (2118 was the same) in VS 2017 (RTM) and VS 2015 Update 3 (didn't check older VS version):
License: ### (1-user license) Support ends 2017.09.23 VA_X.dll file version 10.9.2210.0 built 2017.03.08 DevEnv.exe version 15.0.26228.4 Enterprise msenv.dll version 15.0.26228.0 Comctl32.dll version 6.10.14393.726 Windows 10 10.0 Build 14393 8 processors (x86-64, WOW64) Language info: 1252, 0x407
To fix this, we would have to work out which lines of code are correct for your project settings. This is something we are considering doing, but it's not a quick and easy task: