handle_info.hpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Copyright 2016 Klemens D. Morgenstern
  3. *
  4. * Distributed under the Boost Software License, Version 1.0.
  5. * See http://www.boost.org/LICENSE_1_0.txt
  6. */
  7. #ifndef BOOST_WINAPI_HANDLE_INFO_HPP_INCLUDED_
  8. #define BOOST_WINAPI_HANDLE_INFO_HPP_INCLUDED_
  9. #include <boost/winapi/basic_types.hpp>
  10. #ifdef BOOST_HAS_PRAGMA_ONCE
  11. #pragma once
  12. #endif
  13. #if BOOST_WINAPI_PARTITION_DESKTOP
  14. #if !defined( BOOST_USE_WINDOWS_H )
  15. extern "C" {
  16. BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
  17. GetHandleInformation(
  18. boost::winapi::HANDLE_ hObject,
  19. boost::winapi::LPDWORD_ lpdwFlags);
  20. BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ BOOST_WINAPI_WINAPI_CC
  21. SetHandleInformation(
  22. boost::winapi::HANDLE_ hObject,
  23. boost::winapi::DWORD_ dwMask,
  24. boost::winapi::DWORD_ dwFlags);
  25. } // extern "C"
  26. #endif
  27. namespace boost {
  28. namespace winapi {
  29. using ::GetHandleInformation;
  30. using ::SetHandleInformation;
  31. #if defined( BOOST_USE_WINDOWS_H )
  32. BOOST_CONSTEXPR_OR_CONST DWORD_ HANDLE_FLAG_INHERIT_ = HANDLE_FLAG_INHERIT;
  33. BOOST_CONSTEXPR_OR_CONST DWORD_ HANDLE_FLAG_PROTECT_FROM_CLOSE_ = HANDLE_FLAG_PROTECT_FROM_CLOSE;
  34. #else
  35. BOOST_CONSTEXPR_OR_CONST DWORD_ HANDLE_FLAG_INHERIT_ = 0x1;
  36. BOOST_CONSTEXPR_OR_CONST DWORD_ HANDLE_FLAG_PROTECT_FROM_CLOSE_ = 0x2;
  37. #endif
  38. }
  39. }
  40. #endif // BOOST_WINAPI_PARTITION_DESKTOP
  41. #endif // BOOST_WINAPI_HANDLE_INFO_HPP_INCLUDED_