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.

110 lines
2.8 KiB

  1. #pragma once
  2. //States
  3. #define AUSTATE_OUTOFBOX 0
  4. #define AUSTATE_NOT_CONFIGURED 1
  5. #define AUSTATE_DETECT_PENDING 2
  6. #define AUSTATE_DETECT_COMPLETE 3
  7. #define AUSTATE_DOWNLOAD_PENDING 4
  8. #define AUSTATE_DOWNLOAD_COMPLETE 5
  9. #define AUSTATE_INSTALL_PENDING 6
  10. #define AUSTATE_DISABLED 7
  11. #define AUSTATE_WAITING_FOR_REBOOT 8
  12. #define AUSTATE_MIN AUSTATE_OUTOFBOX
  13. #define AUSTATE_MAX AUSTATE_WAITING_FOR_REBOOT
  14. //AUSTATE
  15. //Directives
  16. const DWORD AUCLT_ACTION_NONE = 0;
  17. //const DWORD AUCLT_ACTION_SHOWINSTALLWARNINGONLY = 1;
  18. const DWORD AUCLT_ACTION_AUTOINSTALL = 1;
  19. const DWORD AUCLT_ACTION_SHOWREBOOTWARNING = 2;
  20. typedef struct _AUSTATE
  21. {
  22. DWORD dwState;
  23. BOOL fDisconnected;
  24. DWORD dwCltAction;
  25. } AUSTATE;
  26. typedef struct _AUOPTION
  27. {
  28. DWORD dwOption;
  29. DWORD dwSchedInstallDay;
  30. DWORD dwSchedInstallTime;
  31. BOOL fDomainPolicy; //option comes from domain
  32. } AUOPTION;
  33. typedef struct _AUEVTHANDLES
  34. {
  35. #ifdef _WIN64
  36. //LONG64 ulEngineState;
  37. LONG64 ulNotifyClient;
  38. #else
  39. //LONG ulEngineState;
  40. LONG ulNotifyClient;
  41. #endif
  42. } AUEVTHANDLES;
  43. typedef enum tagClientNotifyCode {
  44. NOTIFY_STOP_CLIENT = 1,
  45. NOTIFY_ADD_TRAYICON,
  46. NOTIFY_REMOVE_TRAYICON,
  47. NOTIFY_STATE_CHANGE,
  48. NOTIFY_SHOW_INSTALLWARNING,
  49. NOTIFY_RESET,
  50. NOTIFY_RELAUNCH_CLIENT
  51. } CLIENT_NOTIFY_CODE;
  52. typedef struct tagCLIENT_NOTIFY_DATA{
  53. CLIENT_NOTIFY_CODE actionCode;
  54. } CLIENT_NOTIFY_DATA;
  55. ///////////////////////////////////////////////
  56. //
  57. // Status Pinging Related Definition
  58. //
  59. ///////////////////////////////////////////////
  60. typedef long PUID;
  61. const UINT PING_STATUS_ERRMSG_MAX_LENGTH = 200;
  62. typedef enum tagPingStatusCode
  63. {
  64. PING_STATUS_CODE_SELFUPDATE_PENDING = 0,
  65. PING_STATUS_CODE_SELFUPDATE_COMPLETE ,
  66. PING_STATUS_CODE_SELFUPDATE_FAIL,
  67. PING_STATUS_CODE_DETECT_FAIL,
  68. PING_STATUS_CODE_DOWNLOAD_SUCCESS,
  69. PING_STATUS_CODE_DOWNLOAD_FAIL,
  70. PING_STATUS_CODE_INSTALL_SUCCESS,
  71. PING_STATUS_CODE_INSTALL_REBOOT,
  72. PING_STATUS_CODE_INSTALL_FAIL
  73. } PingStatusCode;
  74. #define PING_STATUS_CODE_MIN PING_STATUS_CODE_SELFUPDATE_PENDING
  75. #define PING_STATUS_CODE_MAX PING_STATUS_CODE_INSTALL_FAIL
  76. #if 0
  77. // Ping status information entry
  78. // fUsePuid : switch to decide if to use puid or not
  79. // if TURE, puid is used
  80. // if FALSE, puid is not applicable
  81. // puid : if applicable, puid of the item we send information about
  82. // enStatusCode : status code for type of information AU sends.
  83. // guid : unique identifier for each AU cycle
  84. // tszErr : addtional message about general errors. Maximum length is PING_STATUS_ERRMSG_MAX_LENGTH.
  85. // : Messages longer than PING_STATUS_ERRMSG_MAX_LENGTH will be truncated.
  86. // : if NULL, "none" will be the default error message
  87. typedef struct tagStatusEntry
  88. {
  89. BOOL fUsePuid; //if TRUE, puid is used. otherwise puid is not used
  90. PUID puid;
  91. GUID guid;
  92. PingStatusCode enStatusCode;
  93. TCHAR tszErr[PING_STATUS_ERRMSG_MAX_LENGTH];
  94. } StatusEntry;
  95. #endif