WindowsHelpers.h 978 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #if IL2CPP_TARGET_WINDOWS
  3. #include "WindowsHeaders.h"
  4. #include "os/WaitStatus.h"
  5. #if IL2CPP_TARGET_WINRT
  6. #include "os/WinRT/Win32ApiWinRTEmulation.h"
  7. #endif
  8. #if IL2CPP_TARGET_XBOXONE
  9. #include "os/XboxOne/Win32ApiXboxEmulation.h"
  10. #endif
  11. #if IL2CPP_TARGET_WINDOWS_GAMES
  12. #include "os/WindowsGames/Win32ApiWindowsGamesEmulation.h"
  13. #endif
  14. #if IL2CPP_TARGET_WINRT || IL2CPP_TARGET_XBOXONE
  15. #include "os/WinRT/Win32ApiSharedEmulation.h"
  16. #endif
  17. #include <vector>
  18. namespace il2cpp
  19. {
  20. namespace os
  21. {
  22. namespace win
  23. {
  24. // Wait for a release of the given handle in way that can be interrupted by APCs.
  25. WaitStatus WaitForSingleObjectAndAccountForAPCs(HANDLE handle, uint32_t ms, bool interruptible);
  26. int32_t WaitForAnyObjectAndAccountForAPCs(const std::vector<HANDLE>& handles, uint32_t ms, bool interruptible);
  27. bool WaitForAllObjectsAndAccountForAPCs(const std::vector<HANDLE>& handles, uint32_t ms, bool interruptible);
  28. }
  29. }
  30. }
  31. #endif // IL2CPP_TARGET_WINDOWS