boostorg / winapi

Windows API declarations without <windows.h>, for internal Boost use.
62 stars 58 forks source link

boostorg/winapi/issues/70 Support Windows CE 6.00, 7.00 and WM 6.x #71

Closed xentrax closed 4 years ago

xentrax commented 6 years ago

As discussed in https://github.com/boostorg/winapi/issues/70 introduced use of BOOST_WINAPI_IMPORT and BOOST_WINAPI_IMPORT_EXCEPT_WM instead of BOOST_SYMBOL_IMPORT.

The macros were declared in config.hpp

Also fixed issues caused by different signatures of some WINAPI calls in critical_section.hpp process.hpp local_memory.hpp

xentrax commented 5 years ago

The changes discussed so far are implemented in 3 commits because the 17fbd4a and 10c4126 are somewhat independent and, also, not critical for the original problem.

Is the anything else I can do here?

Lastique commented 5 years ago

Also, your PR seems to include some changes that are in develop. Could you rebase the PR against the current develop? It would make reviewing a little easier.

Lastique commented 5 years ago

Yes, big Windows SDK uses "_RTL_CRITICAL_SECTION" name in its SDK. Windows CE SDKs uses CRITICAL_SECTION name.

Oh, I misread the code then (for some reason I thought CRITICAL_SECTION was a typedef to _CRITICAL_SECTION). Sure, let's leave CRITICAL_SECTION then.

xentrax commented 5 years ago

I fixed the updated list of problems, I tried hard to not forget about winsdk_critical_section and tabs this time.

I reinstated CRITICAL_SECTION name to match Windows CE SDKs.

Inspired by the ExitProcess remark I also fixed a small compilation issue for the case when boost/winapi headers are included before anything else. (A couple of typedefs added in basic_types.hpp).