Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.4 KiB

  1. #pragma once
  2. #include <map>
  3. #include "Less.h"
  4. enum ESwitch
  5. {
  6. // task switch
  7. SWITCH_TASK,
  8. // option switches
  9. SWITCH_OPTION_FILE,
  10. // migration switches
  11. SWITCH_TEST_MIGRATION,
  12. SWITCH_INTRA_FOREST,
  13. SWITCH_SOURCE_DOMAIN,
  14. SWITCH_SOURCE_OU,
  15. SWITCH_TARGET_DOMAIN,
  16. SWITCH_TARGET_OU,
  17. SWITCH_RENAME_OPTION,
  18. SWITCH_RENAME_PREFIX_OR_SUFFIX,
  19. SWITCH_PASSWORD_OPTION,
  20. SWITCH_PASSWORD_SERVER,
  21. SWITCH_PASSWORD_FILE,
  22. SWITCH_CONFLICT_OPTIONS,
  23. SWITCH_CONFLICT_PREFIX_OR_SUFFIX,
  24. SWITCH_USER_PROPERTIES_TO_EXCLUDE,
  25. SWITCH_GROUP_PROPERTIES_TO_EXCLUDE,
  26. SWITCH_COMPUTER_PROPERTIES_TO_EXCLUDE,
  27. // user migration switches
  28. SWITCH_DISABLE_OPTION,
  29. SWITCH_SOURCE_EXPIRATION,
  30. SWITCH_MIGRATE_SIDS,
  31. SWITCH_TRANSLATE_ROAMING_PROFILE,
  32. SWITCH_UPDATE_USER_RIGHTS,
  33. SWITCH_MIGRATE_GROUPS,
  34. SWITCH_UPDATE_PREVIOUSLY_MIGRATED_OBJECTS,
  35. SWITCH_FIX_GROUP_MEMBERSHIP,
  36. SWITCH_MIGRATE_SERVICE_ACCOUNTS,
  37. // group migration switches
  38. // SWITCH_MIGRATE_SIDS,
  39. SWITCH_UPDATE_GROUP_RIGHTS,
  40. // SWITCH_UPDATE_PREVIOUSLY_MIGRATED_OBJECTS,
  41. // SWITCH_FIX_GROUP_MEMBERSHIP,
  42. SWITCH_MIGRATE_MEMBERS,
  43. // SWITCH_DISABLE_OPTION,
  44. // SWITCH_SOURCE_EXPIRATION,
  45. // SWITCH_TRANSLATE_ROAMING_PROFILE,
  46. // computer migration switches
  47. SWITCH_TRANSLATION_OPTION,
  48. SWITCH_TRANSLATE_FILES_AND_FOLDERS,
  49. SWITCH_TRANSLATE_LOCAL_GROUPS,
  50. SWITCH_TRANSLATE_PRINTERS,
  51. SWITCH_TRANSLATE_REGISTRY,
  52. SWITCH_TRANSLATE_SHARES,
  53. SWITCH_TRANSLATE_USER_PROFILES,
  54. SWITCH_TRANSLATE_USER_RIGHTS,
  55. SWITCH_RESTART_DELAY,
  56. // security translation switches
  57. // SWITCH_TRANSLATION_OPTION,
  58. // SWITCH_TRANSLATE_FILES_AND_FOLDERS,
  59. // SWITCH_TRANSLATE_LOCAL_GROUPS,
  60. // SWITCH_TRANSLATE_PRINTERS,
  61. // SWITCH_TRANSLATE_REGISTRY,
  62. // SWITCH_TRANSLATE_SHARES,
  63. // SWITCH_TRANSLATE_USER_PROFILES,
  64. // SWITCH_TRANSLATE_USER_RIGHTS,
  65. SWITCH_SID_MAPPING_FILE,
  66. // service account enumeration switches
  67. // report generation
  68. SWITCH_REPORT_TYPE,
  69. SWITCH_REPORT_FOLDER,
  70. // include switches
  71. SWITCH_INCLUDE_NAME,
  72. SWITCH_INCLUDE_FILE,
  73. SWITCH_INCLUDE_DOMAIN,
  74. // exclude switches
  75. SWITCH_EXCLUDE_NAME,
  76. SWITCH_EXCLUDE_FILE,
  77. // key switches
  78. SWITCH_KEY_IDENTIFIER,
  79. SWITCH_KEY_FOLDER,
  80. SWITCH_KEY_PASSWORD,
  81. // help switch
  82. SWITCH_HELP,
  83. };
  84. //---------------------------------------------------------------------------
  85. // Switch Map
  86. //---------------------------------------------------------------------------
  87. class CSwitchMap :
  88. public std::map<_bstr_t, int, StringIgnoreCaseLess>
  89. {
  90. public:
  91. CSwitchMap();
  92. int GetSwitch(LPCTSTR pszSwitch);
  93. };