access_basefun.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "access_basefun.h"
  2. #include <vector>
  3. #ifdef _MSC_VER
  4. DWORD checkErrType(DWORD curEvent)
  5. {
  6. DWORD noretry_norestart_Arr[] = ERRARR_ACCESSAUTH_NORETRY_NORESTART;
  7. DWORD retry_no_restart_Arr[] = ERRARR_ACCESSAUTH_RETRY_NORESTART;
  8. DWORD retry_restart_Arr[] = ACCESSAUTH_ERR_RETRY_RESTART;
  9. std::vector<DWORD> noretry_norestart_vec, retry_norestart_vec, retry_restart_vec;
  10. for each (auto i in noretry_norestart_Arr)
  11. noretry_norestart_vec.push_back(i);
  12. for each (auto i in retry_no_restart_Arr)
  13. retry_norestart_vec.push_back(i);
  14. for each (auto i in retry_restart_Arr)
  15. retry_restart_vec.push_back(i);
  16. auto checkFun = [&](std::vector<DWORD> &cur) -> bool {
  17. for each(auto i in cur)
  18. {
  19. if (i == curEvent)
  20. return true;
  21. }
  22. return false;
  23. };
  24. if (checkFun(noretry_norestart_vec))
  25. return CONTROL_ACCESSAUTH_NORETRY_NORESTART;
  26. else if (checkFun(retry_norestart_vec))
  27. return CONTROL_ACCESSAUTH_RETRY_NORESTART;
  28. else if (checkFun(retry_restart_vec))
  29. return CONTROL_ACCESSAUTH_RETRY_RESTART;
  30. else
  31. return CONTROL_ACCESSAUTH_UNKNOWN;
  32. }
  33. #else
  34. #include <thread>
  35. #include <chrono>
  36. int checkErrType(int curEvent)
  37. {
  38. std::vector<int> noretry_norestart_vec = ERRARR_ACCESSAUTH_NORETRY_NORESTART, retry_norestart_vec = ERRARR_ACCESSAUTH_RETRY_NORESTART
  39. ,retry_restart_vec = ACCESSAUTH_ERR_RETRY_RESTART;
  40. auto checkFun = [&](std::vector<int> &cur) -> bool {
  41. for(auto i : cur)
  42. {
  43. if (i == curEvent)
  44. return true;
  45. }
  46. return false;
  47. };
  48. if (checkFun(noretry_norestart_vec))
  49. return CONTROL_ACCESSAUTH_NORETRY_NORESTART;
  50. else if (checkFun(retry_norestart_vec))
  51. return CONTROL_ACCESSAUTH_RETRY_NORESTART;
  52. else if (checkFun(retry_restart_vec))
  53. return CONTROL_ACCESSAUTH_RETRY_RESTART;
  54. else
  55. return CONTROL_ACCESSAUTH_UNKNOWN;
  56. }
  57. #endif