process_abi.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*
  2. * Copyright Andrey Semashev 2018.
  3. * Distributed under the Boost Software License, Version 1.0.
  4. * (See accompanying file LICENSE_1_0.txt or copy at
  5. * http://www.boost.org/LICENSE_1_0.txt)
  6. */
  7. /*!
  8. * \file process_abi.cpp
  9. * \author Andrey Semashev
  10. * \date 10.03.2018
  11. *
  12. * \brief This file contains ABI test for process.hpp
  13. */
  14. #include <boost/winapi/process.hpp>
  15. #include <windows.h>
  16. #include <boost/predef/platform/windows_uwp.h>
  17. #include "abi_test_tools.hpp"
  18. int main()
  19. {
  20. #if BOOST_WINAPI_PARTITION_APP_SYSTEM
  21. BOOST_WINAPI_TEST_CONSTANT(DEBUG_PROCESS);
  22. BOOST_WINAPI_TEST_CONSTANT(DEBUG_ONLY_THIS_PROCESS);
  23. BOOST_WINAPI_TEST_CONSTANT(CREATE_SUSPENDED);
  24. BOOST_WINAPI_TEST_CONSTANT(DETACHED_PROCESS);
  25. BOOST_WINAPI_TEST_CONSTANT(CREATE_NEW_CONSOLE);
  26. BOOST_WINAPI_TEST_CONSTANT(CREATE_NEW_PROCESS_GROUP);
  27. BOOST_WINAPI_TEST_CONSTANT(CREATE_UNICODE_ENVIRONMENT);
  28. BOOST_WINAPI_TEST_CONSTANT(CREATE_SEPARATE_WOW_VDM);
  29. BOOST_WINAPI_TEST_CONSTANT(CREATE_SHARED_WOW_VDM);
  30. BOOST_WINAPI_TEST_CONSTANT(CREATE_FORCEDOS);
  31. BOOST_WINAPI_TEST_CONSTANT(CREATE_BREAKAWAY_FROM_JOB);
  32. BOOST_WINAPI_TEST_CONSTANT(CREATE_DEFAULT_ERROR_MODE);
  33. BOOST_WINAPI_TEST_CONSTANT(CREATE_NO_WINDOW);
  34. BOOST_WINAPI_TEST_CONSTANT(PROFILE_USER);
  35. BOOST_WINAPI_TEST_CONSTANT(PROFILE_KERNEL);
  36. BOOST_WINAPI_TEST_CONSTANT(PROFILE_SERVER);
  37. #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
  38. BOOST_WINAPI_TEST_CONSTANT(CREATE_PROTECTED_PROCESS);
  39. BOOST_WINAPI_TEST_CONSTANT(EXTENDED_STARTUPINFO_PRESENT);
  40. #endif
  41. #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7
  42. BOOST_WINAPI_TEST_CONSTANT(INHERIT_PARENT_AFFINITY);
  43. #endif
  44. #if defined(UNDER_CE)
  45. BOOST_WINAPI_TEST_CONSTANT(INHERIT_CALLER_PRIORITY);
  46. #endif
  47. #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
  48. #if BOOST_WINAPI_PARTITION_DESKTOP
  49. BOOST_WINAPI_TEST_CONSTANT(STARTF_USESHOWWINDOW);
  50. BOOST_WINAPI_TEST_CONSTANT(STARTF_USESIZE);
  51. BOOST_WINAPI_TEST_CONSTANT(STARTF_USEPOSITION);
  52. BOOST_WINAPI_TEST_CONSTANT(STARTF_USECOUNTCHARS);
  53. BOOST_WINAPI_TEST_CONSTANT(STARTF_USEFILLATTRIBUTE);
  54. BOOST_WINAPI_TEST_CONSTANT(STARTF_RUNFULLSCREEN);
  55. BOOST_WINAPI_TEST_CONSTANT(STARTF_FORCEONFEEDBACK);
  56. BOOST_WINAPI_TEST_CONSTANT(STARTF_FORCEOFFFEEDBACK);
  57. BOOST_WINAPI_TEST_CONSTANT(STARTF_USESTDHANDLES);
  58. BOOST_WINAPI_TEST_CONSTANT(STARTF_USEHOTKEY);
  59. #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN7
  60. BOOST_WINAPI_TEST_CONSTANT(STARTF_TITLEISLINKNAME);
  61. BOOST_WINAPI_TEST_CONSTANT(STARTF_TITLEISAPPID);
  62. BOOST_WINAPI_TEST_CONSTANT(STARTF_PREVENTPINNING);
  63. #endif
  64. #endif // BOOST_WINAPI_PARTITION_DESKTOP
  65. BOOST_WINAPI_TEST_CONSTANT(PROCESS_TERMINATE);
  66. BOOST_WINAPI_TEST_CONSTANT(PROCESS_CREATE_THREAD);
  67. BOOST_WINAPI_TEST_CONSTANT(PROCESS_SET_SESSIONID);
  68. BOOST_WINAPI_TEST_CONSTANT(PROCESS_VM_OPERATION);
  69. BOOST_WINAPI_TEST_CONSTANT(PROCESS_VM_READ);
  70. BOOST_WINAPI_TEST_CONSTANT(PROCESS_VM_WRITE);
  71. BOOST_WINAPI_TEST_CONSTANT(PROCESS_DUP_HANDLE);
  72. BOOST_WINAPI_TEST_CONSTANT(PROCESS_CREATE_PROCESS);
  73. BOOST_WINAPI_TEST_CONSTANT(PROCESS_SET_QUOTA);
  74. BOOST_WINAPI_TEST_CONSTANT(PROCESS_SET_INFORMATION);
  75. BOOST_WINAPI_TEST_CONSTANT(PROCESS_QUERY_INFORMATION);
  76. BOOST_WINAPI_TEST_CONSTANT(PROCESS_SUSPEND_RESUME);
  77. BOOST_WINAPI_TEST_CONSTANT(PROCESS_ALL_ACCESS);
  78. #if BOOST_WINAPI_PARTITION_APP_SYSTEM
  79. #if !defined(BOOST_WINAPI_IS_MINGW)
  80. BOOST_WINAPI_TEST_CONSTANT(CREATE_PRESERVE_CODE_AUTHZ_LEVEL);
  81. BOOST_WINAPI_TEST_CONSTANT(CREATE_IGNORE_SYSTEM_DEFAULT);
  82. #endif
  83. #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
  84. #if BOOST_WINAPI_PARTITION_APP_SYSTEM
  85. BOOST_WINAPI_TEST_STRUCT(PROCESS_INFORMATION, (hProcess)(hThread)(dwProcessId)(dwThreadId));
  86. #if !defined(BOOST_NO_ANSI_APIS)
  87. BOOST_WINAPI_TEST_STRUCT(STARTUPINFOA, (cb)(lpDesktop)(lpTitle)(dwX)(dwY)(dwXSize)(dwYSize)(dwXCountChars)(dwYCountChars)(dwFillAttribute)(dwFlags)(wShowWindow)(hStdInput)(hStdOutput)(hStdError));
  88. #endif // !defined(BOOST_NO_ANSI_APIS)
  89. BOOST_WINAPI_TEST_STRUCT(STARTUPINFOW, (cb)(lpDesktop)(lpTitle)(dwX)(dwY)(dwXSize)(dwYSize)(dwXCountChars)(dwYCountChars)(dwFillAttribute)(dwFlags)(wShowWindow)(hStdInput)(hStdOutput)(hStdError));
  90. #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
  91. #if BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
  92. #if BOOST_WINAPI_PARTITION_DESKTOP
  93. #if !defined(BOOST_NO_ANSI_APIS)
  94. BOOST_WINAPI_TEST_STRUCT(STARTUPINFOEXA, (StartupInfo)(lpAttributeList));
  95. #endif // !defined(BOOST_NO_ANSI_APIS)
  96. BOOST_WINAPI_TEST_STRUCT(STARTUPINFOEXW, (StartupInfo)(lpAttributeList));
  97. #endif // BOOST_WINAPI_PARTITION_DESKTOP
  98. #endif // BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN6
  99. #if BOOST_WINAPI_PARTITION_APP_SYSTEM
  100. BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(TerminateProcess);
  101. BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(OpenProcess);
  102. #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
  103. #if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
  104. BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(GetExitCodeProcess);
  105. BOOST_WINAPI_TEST_FUNCTION_SIGNATURE(ExitProcess);
  106. #endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
  107. return boost::report_errors();
  108. }