Leaked source code of windows server 2003
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.

237 lines
8.1 KiB

  1. //Copyright (c) 1998 - 2001 Microsoft Corporation
  2. #include "precomp.h"
  3. #include "commdlg.h"
  4. #include "fonts.h"
  5. LRW_DLG_INT CALLBACK
  6. ProgressDlgProc(
  7. IN HWND hwnd,
  8. IN UINT uMsg,
  9. IN WPARAM wParam,
  10. IN LPARAM lParam
  11. )
  12. {
  13. BOOL bStatus = TRUE;
  14. PageInfo *pi = (PageInfo *)LRW_GETWINDOWLONG( hwnd, LRW_GWL_USERDATA );
  15. switch (uMsg)
  16. {
  17. case WM_INITDIALOG:
  18. {
  19. pi = (PageInfo *)((LPPROPSHEETPAGE)lParam)->lParam;
  20. LRW_SETWINDOWLONG( hwnd, LRW_GWL_USERDATA, (LRW_LONG_PTR)pi );
  21. //
  22. //Set the Font for the Title Fields
  23. //
  24. SetControlFont( pi->hBigBoldFont, hwnd, IDC_BIGBOLDTITLE);
  25. }
  26. break;
  27. case WM_DESTROY:
  28. LRW_SETWINDOWLONG( hwnd, LRW_GWL_USERDATA, NULL );
  29. break;
  30. case WM_COMMAND:
  31. if (HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDC_NEXTACTION)
  32. {
  33. if (SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_GETCHECK,
  34. (WPARAM)0,(LPARAM)0) == BST_CHECKED)
  35. {
  36. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_NEXT);
  37. }
  38. else
  39. {
  40. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
  41. }
  42. }
  43. break;
  44. case WM_NOTIFY:
  45. {
  46. DWORD dwNextPage = 0;
  47. LPNMHDR pnmh = (LPNMHDR)lParam;
  48. switch( pnmh->code )
  49. {
  50. case PSN_SETACTIVE:
  51. {
  52. DWORD dwRetCode = 0;
  53. DWORD dwErrorCode = 0;
  54. TCHAR szBuf[LR_MAX_MSG_TEXT];
  55. TCHAR szMsg[LR_MAX_MSG_TEXT];
  56. TCHAR szCompletionMsg[LR_MAX_MSG_TEXT];
  57. dwRetCode = LRGetLastRetCode();
  58. //
  59. // If everything successful, display the message depending
  60. // on the Mode
  61. //
  62. SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_SETCHECK,
  63. (WPARAM)BST_UNCHECKED,(LPARAM)0);
  64. ShowWindow(GetDlgItem(hwnd, IDC_NEXTACTION), SW_HIDE);
  65. ShowWindow(GetDlgItem(hwnd, IDC_BTN_PRINT), SW_HIDE);
  66. if (dwRetCode == ERROR_SUCCESS)
  67. {
  68. switch (GetGlobalContext()->GetWizAction())
  69. {
  70. case WIZACTION_CONTINUEREGISTERLS:
  71. case WIZACTION_REGISTERLS:
  72. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_NEXT);
  73. ShowWindow(GetDlgItem(hwnd, IDC_NEXTACTION), SW_SHOW);
  74. dwRetCode = IDS_MSG_CERT_INSTALLED;
  75. SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_SETCHECK,
  76. (WPARAM)BST_CHECKED,(LPARAM)0);
  77. LoadString(GetInstanceHandle(),IDS_ACTIVATION_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  78. LoadString(GetInstanceHandle(), IDS_FINALSUCCESSMESSAGE, szBuf,LR_MAX_MSG_TEXT);
  79. SetReFresh(1);
  80. break;
  81. case WIZACTION_DOWNLOADLKP:
  82. case WIZACTION_DOWNLOADLASTLKP:
  83. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
  84. dwRetCode = IDS_MSG_LKP_PROCESSED;
  85. LoadString(GetInstanceHandle(),IDS_KEY_PACKS_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  86. LoadString(GetInstanceHandle(), IDS_FINAL_KEYPACK_SUCCESS_MESSAGE, szBuf,LR_MAX_MSG_TEXT);
  87. SetReFresh(1);
  88. break;
  89. case WIZACTION_REREGISTERLS:
  90. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
  91. dwRetCode = IDS_MSG_CERT_REISSUED;
  92. LoadString(GetInstanceHandle(), IDS_FINAL_REACTIVATION_SUCCESS, szBuf,LR_MAX_MSG_TEXT);
  93. LoadString(GetInstanceHandle(),IDS_REACTIVATION_COMPLETION_WIZARD,szCompletionMsg,LR_MAX_MSG_TEXT);
  94. SetReFresh(1);
  95. break;
  96. case WIZACTION_UNREGISTERLS:
  97. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
  98. dwRetCode = IDS_MSG_CERT_REVOKED;
  99. LoadString(GetInstanceHandle(), IDS_FINALSUCCESSMESSAGE, szBuf,LR_MAX_MSG_TEXT);
  100. LoadString(GetInstanceHandle(),IDS_ACTIVATION_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  101. SetReFresh(1);
  102. break;
  103. default:
  104. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
  105. LoadString(GetInstanceHandle(), IDS_FINALSUCCESSMESSAGE, szBuf,LR_MAX_MSG_TEXT);
  106. LoadString(GetInstanceHandle(),IDS_ACTIVATION_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  107. break;
  108. }
  109. SetDlgItemText(hwnd, IDC_MESSAGE, szBuf);
  110. SetLRState(LRSTATE_NEUTRAL);
  111. LoadString(GetInstanceHandle(),dwRetCode,szMsg,LR_MAX_MSG_TEXT);
  112. }
  113. else //Include the Error code , if any ,in the msg
  114. {
  115. LoadString(GetInstanceHandle(), IDS_FINALFAILMESSAGE, szBuf,LR_MAX_MSG_TEXT);
  116. memset(szCompletionMsg, 0, LR_MAX_MSG_TEXT);
  117. SetDlgItemText(hwnd, IDC_MESSAGE, szBuf);
  118. //
  119. // Load the big-bold title string
  120. switch (GetGlobalContext()->GetWizAction()) {
  121. case WIZACTION_CONTINUEREGISTERLS:
  122. case WIZACTION_REGISTERLS:
  123. LoadString(GetInstanceHandle(),IDS_ACTIVATION_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  124. break;
  125. case WIZACTION_DOWNLOADLKP:
  126. case WIZACTION_DOWNLOADLASTLKP:
  127. LoadString(GetInstanceHandle(),IDS_KEY_PACKS_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  128. break;
  129. case WIZACTION_REREGISTERLS:
  130. LoadString(GetInstanceHandle(),IDS_REACTIVATION_COMPLETION_WIZARD,szCompletionMsg,LR_MAX_MSG_TEXT);
  131. break;
  132. case WIZACTION_UNREGISTERLS:
  133. LoadString(GetInstanceHandle(),IDS_ACTIVATION_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  134. break;
  135. default:
  136. LoadString(GetInstanceHandle(),IDS_ACTIVATION_COMPLETION_MESSAGE,szCompletionMsg,LR_MAX_MSG_TEXT);
  137. break;
  138. }
  139. LoadString(GetInstanceHandle(),dwRetCode,szBuf,LR_MAX_MSG_TEXT);
  140. dwErrorCode = LRGetLastError();
  141. if( dwErrorCode != 0)
  142. {
  143. _stprintf(szMsg,szBuf,dwErrorCode);
  144. }
  145. else
  146. {
  147. _tcscpy(szMsg,szBuf);
  148. }
  149. //Enable Back button in case of error
  150. //LRPop();
  151. PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_BACK);
  152. }
  153. SetDlgItemText(hwnd,IDC_BIGBOLDTITLE,szCompletionMsg);
  154. SetDlgItemText(hwnd,IDC_EDIT1,szMsg);
  155. }
  156. break;
  157. case PSN_WIZNEXT:
  158. if (SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_GETCHECK,
  159. (WPARAM)0,(LPARAM)0) == BST_CHECKED)
  160. {
  161. switch (GetGlobalContext()->GetWizAction())
  162. {
  163. case WIZACTION_REGISTERLS:
  164. case WIZACTION_CONTINUEREGISTERLS:
  165. // Go to Obtain LKPs
  166. // Go to the PIN screen
  167. DWORD dwStatus;
  168. DWORD dwRetCode = GetGlobalContext()->GetLSCertificates(&dwStatus);
  169. // Error Handling $$BM
  170. GetGlobalContext()->ClearWizStack();
  171. dwNextPage = IDD_WELCOME_CLIENT_LICENSING;
  172. if (GetGlobalContext()->GetActivationMethod() == CONNECTION_INTERNET)
  173. {
  174. GetGlobalContext()->SetLRState(LRSTATE_NEUTRAL);
  175. GetGlobalContext()->SetLSStatus(LSERVERSTATUS_REGISTER_INTERNET);
  176. }
  177. else
  178. {
  179. GetGlobalContext()->SetLRState(LRSTATE_NEUTRAL);
  180. GetGlobalContext()->SetLSStatus(LSERVERSTATUS_REGISTER_OTHER);
  181. }
  182. GetGlobalContext()->SetWizAction(WIZACTION_DOWNLOADLKP);
  183. break;
  184. }
  185. LRW_SETWINDOWLONG(hwnd, LRW_DWL_MSGRESULT, dwNextPage);
  186. bStatus = -1;
  187. }
  188. break;
  189. case PSN_WIZBACK:
  190. dwNextPage = LRPop();
  191. LRW_SETWINDOWLONG(hwnd, LRW_DWL_MSGRESULT, dwNextPage);
  192. bStatus = -1;
  193. break;
  194. default:
  195. bStatus = FALSE;
  196. break;
  197. }
  198. }
  199. break;
  200. default:
  201. bStatus = FALSE;
  202. break;
  203. }
  204. return bStatus;
  205. }