Closed apolukhin closed 8 years ago
If these constants are only supported from Windows 8, their definition should probably be conditioned on BOOST_USE_WINAPI_VERSION, shouldn't it?
This is a tricky question. They are ready out-of-the-box in Windows8, but previous versions of Windows with KB2533623 update also could use it. There's no right way to check those flags at compile time and MSDN recommends some runtime tricks to ensure that those falgs do work.
I've just made sure that they are not used in Boost.DLL any more and removed them...
Does Windows SDK define both these structures? Shouldn't there be just one structure defined differently for different bitness?
Actually Windows SDK defines 3 different structures: _MEMORY_BASIC_INFORMATION
, _MEMORY_BASIC_INFORMATION32
, _MEMORY_BASIC_INFORMATION64
. VirtualQuery
always uses _MEMORY_BASIC_INFORMATION
whose representation depends on bitness.
Left the boost::detail::winapi::MEMORY_BASIC_INFORMATION_
structure only.
All the other issues were fixed according to your requirements.
Committed a slightly corrected version of this PR as https://github.com/boostorg/winapi/commit/9ecf1c1b1705e16b64689e85ccca59b5b1dda610.
Thanks, works well.
The file is copied from Boost.DLL/include/boost/detail/winapi/dll2.hpp