Closed Lastique closed 1 year ago
Perhaps, this call needs to be disabled in these configs.
What's the best way to do that?
Also, there is SetErrorMode, though I don't know if it is available in these configs.
There is, and it's actually the right thing to call because _seterrormode
is deprecated, but I gave up trying to declare it properly (we can't use Winapi in Core.)
What's the best way to do that?
You could probably look at the CRT header that declares it and copy the preprocessor checks from there (or replicate the same effect). I'd look myself, but I don't have access to a Windows machine right now.
There is, and it's actually the right thing to call because
_seterrormode
is deprecated, but I gave up trying to declare it properly (we can't use Winapi in Core.)
The function signature looks simple enough. No structures involved, UINT
is unsigned int
.
You could probably look at the CRT header that declares it and copy the preprocessor checks from there (or replicate the same effect).
I don't think these macros stay the same across versions, although it looks like the latest Windows SDK still defines the old macros (even though they are deprecated).
You could probably look at the CRT header that declares it and copy the preprocessor checks from there (or replicate the same effect).
I don't think these macros stay the same across versions, although it looks like the latest Windows SDK still defines the old macros (even though they are deprecated).
This only needs to be done on MSVC 11 and 12. MSVC 14.3 CI for various targets passed. Though we don't test versions between 12 and 14.3 with different WinAPI families, so maybe not only 11 and 12, but the workaround is fairly contained anyway.
This actually depends on the Windows SDK version, not the compiler version (for 14.x). Of those I have installed, _seterrormode
is predicated on _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
for SDK versions 10.0.10150.0 and 10.0.10240.0 (as it is for MSVC 11 and 12), and unconditionally declared for versions 10.0.17763.0 and 10.0.19041.0. I have no idea why that would be - whether SetErrorMode
exists shouldn't be dependent on the SDK version.
I think I'll omit checking the version.
Boost.WinAPI tests are failing when compiled for PHONE and APP targets with MSVC 11 and 12:
Perhaps, this call needs to be disabled in these configs. Also, there is
SetErrorMode
, though I don't know if it is available in these configs.