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.

76 lines
2.4 KiB

  1. //+----------------------------------------------------------------------------
  2. //
  3. // File: cmstpex.h
  4. //
  5. // Module: CMSTP.EXE and CMCFG32.DLL
  6. //
  7. // Synopsis: This header includes the type information and Extension Enumeration
  8. // for using the CMSTP Extension Proc that enables the user to modify
  9. // the installation behavior of cmstp.exe. Use this with caution.
  10. //
  11. // Copyright (c) 1999 Microsoft Corporation
  12. //
  13. // Author: quintinb Created 05/01/99
  14. //
  15. //+----------------------------------------------------------------------------
  16. typedef enum _EXTENSIONDLLPROCTIMES
  17. {
  18. PRE, // Before install, uninstall, etc.
  19. POST // after the cmstp action has been completed but before cmstp cleanup
  20. } EXTENSIONDLLPROCTIMES;
  21. typedef BOOL (WINAPI *pfnCmstpExtensionProcSpec)(LPDWORD, LPTSTR, HRESULT, EXTENSIONDLLPROCTIMES);
  22. //
  23. // Modes of Operation
  24. //
  25. // const DWORD c_dwInstall = 0; -- not needed but 0 implies install.
  26. TCHAR c_pszUninstall[] = TEXT("/u");
  27. const DWORD c_dwUninstall = 0x1;
  28. TCHAR c_pszOsMigration[] = TEXT("/m");
  29. const DWORD c_dwOsMigration = 0x2;
  30. TCHAR c_pszUninstallCm[] = TEXT("/x");
  31. const DWORD c_dwUninstallCm = 0x4;
  32. TCHAR c_pszProfileMigration[] = TEXT("/mp");
  33. const DWORD c_dwProfileMigration = 0x8;
  34. TCHAR c_pszHelp[] = TEXT("/?");
  35. const DWORD c_dwHelp = 0x10;
  36. //
  37. // Install Modifiers
  38. //
  39. TCHAR c_pszNoLegacyIcon[] = TEXT("/ni");
  40. const DWORD c_dwNoLegacyIcon = 0x100;
  41. TCHAR c_pszNoNT5Shortcut[] = TEXT("/ns");
  42. const DWORD c_dwNoNT5Shortcut = 0x200;
  43. TCHAR c_pszNoSupportFiles[] = TEXT("/nf");
  44. const DWORD c_dwNoSupportFiles = 0x400;
  45. TCHAR c_pszSilent[] = TEXT("/s");
  46. const DWORD c_dwSilent = 0x800;
  47. TCHAR c_pszSingleUser[] = TEXT("/su");
  48. const DWORD c_dwSingleUser = 0x1000;
  49. TCHAR c_pszIeakInstall[] = TEXT("/i");
  50. const DWORD c_dwIeakInstall = c_dwSilent | c_dwNoSupportFiles;
  51. TCHAR c_pszSetDefaultCon[] = TEXT("/sd"); // set IE default connection
  52. const DWORD c_dwSetDefaultCon = 0x2000;
  53. const int c_NumArgs = 12;
  54. ArgStruct Args[c_NumArgs] = {
  55. {c_pszUninstall, c_dwUninstall},
  56. {c_pszOsMigration, c_dwOsMigration},
  57. {c_pszUninstallCm, c_dwUninstallCm},
  58. {c_pszIeakInstall, c_dwIeakInstall},
  59. {c_pszProfileMigration, c_dwProfileMigration},
  60. {c_pszSilent, c_dwSilent},
  61. {c_pszSingleUser, c_dwSingleUser},
  62. {c_pszNoLegacyIcon, c_dwNoLegacyIcon},
  63. {c_pszNoNT5Shortcut, c_dwNoNT5Shortcut},
  64. {c_pszNoSupportFiles, c_dwNoSupportFiles},
  65. {c_pszHelp, c_dwHelp},
  66. {c_pszSetDefaultCon, c_dwSetDefaultCon}
  67. };