200 lines
5.3 KiB
C++
200 lines
5.3 KiB
C++
//Copyright (c) 1998 - 1999 Microsoft Corporation
|
|
#include "precomp.h"
|
|
#include "commdlg.h"
|
|
|
|
LRW_DLG_INT CALLBACK
|
|
ProgressDlgProc(
|
|
IN HWND hwnd,
|
|
IN UINT uMsg,
|
|
IN WPARAM wParam,
|
|
IN LPARAM lParam
|
|
)
|
|
{
|
|
BOOL bStatus = TRUE;
|
|
PageInfo *pi = (PageInfo *)LRW_GETWINDOWLONG( hwnd, LRW_GWL_USERDATA );
|
|
|
|
switch (uMsg)
|
|
{
|
|
case WM_INITDIALOG:
|
|
{
|
|
pi = (PageInfo *)((LPPROPSHEETPAGE)lParam)->lParam;
|
|
LRW_SETWINDOWLONG( hwnd, LRW_GWL_USERDATA, (LRW_LONG_PTR)pi );
|
|
|
|
//
|
|
//Set the Font for the Title Fields
|
|
//
|
|
SetControlFont( pi->hBigBoldFont, hwnd, IDC_BIGBOLDTITLE);
|
|
}
|
|
break;
|
|
|
|
case WM_DESTROY:
|
|
LRW_SETWINDOWLONG( hwnd, LRW_GWL_USERDATA, NULL );
|
|
break;
|
|
|
|
case WM_COMMAND:
|
|
if (HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDC_NEXTACTION)
|
|
{
|
|
|
|
if (SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_GETCHECK,
|
|
(WPARAM)0,(LPARAM)0) == BST_CHECKED)
|
|
{
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_NEXT);
|
|
}
|
|
else
|
|
{
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
|
|
}
|
|
}
|
|
break;
|
|
|
|
case WM_NOTIFY:
|
|
{
|
|
DWORD dwNextPage = 0;
|
|
LPNMHDR pnmh = (LPNMHDR)lParam;
|
|
|
|
switch( pnmh->code )
|
|
{
|
|
case PSN_SETACTIVE:
|
|
{
|
|
DWORD dwRetCode = 0;
|
|
DWORD dwErrorCode = 0;
|
|
TCHAR szBuf[LR_MAX_MSG_TEXT];
|
|
TCHAR szMsg[LR_MAX_MSG_TEXT];
|
|
|
|
dwRetCode = LRGetLastRetCode();
|
|
|
|
//
|
|
// If everything successful, display the message depending
|
|
// on the Mode
|
|
//
|
|
SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_SETCHECK,
|
|
(WPARAM)BST_UNCHECKED,(LPARAM)0);
|
|
ShowWindow(GetDlgItem(hwnd, IDC_NEXTACTION), SW_HIDE);
|
|
ShowWindow(GetDlgItem(hwnd, IDC_BTN_PRINT), SW_HIDE);
|
|
|
|
if (dwRetCode == ERROR_SUCCESS)
|
|
{
|
|
LoadString(GetInstanceHandle(), IDS_FINALSUCCESSMESSAGE, szBuf,LR_MAX_MSG_TEXT);
|
|
SetDlgItemText(hwnd, IDC_MESSAGE, szBuf);
|
|
|
|
switch (GetGlobalContext()->GetWizAction())
|
|
{
|
|
case WIZACTION_CONTINUEREGISTERLS:
|
|
case WIZACTION_REGISTERLS:
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_NEXT);
|
|
ShowWindow(GetDlgItem(hwnd, IDC_NEXTACTION), SW_SHOW);
|
|
dwRetCode = IDS_MSG_CERT_INSTALLED;
|
|
SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_SETCHECK,
|
|
(WPARAM)BST_CHECKED,(LPARAM)0);
|
|
SetReFresh(1);
|
|
break;
|
|
|
|
case WIZACTION_DOWNLOADLKP:
|
|
case WIZACTION_DOWNLOADLASTLKP:
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
|
|
dwRetCode = IDS_MSG_LKP_PROCESSED;
|
|
SetReFresh(1);
|
|
break;
|
|
|
|
case WIZACTION_REREGISTERLS:
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
|
|
dwRetCode = IDS_MSG_CERT_REISSUED;
|
|
SetReFresh(1);
|
|
break;
|
|
|
|
case WIZACTION_UNREGISTERLS:
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
|
|
dwRetCode = IDS_MSG_CERT_REVOKED;
|
|
SetReFresh(1);
|
|
break;
|
|
|
|
default:
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_FINISH);
|
|
break;
|
|
}
|
|
|
|
SetLRState(LRSTATE_NEUTRAL);
|
|
|
|
LoadString(GetInstanceHandle(),dwRetCode,szMsg,LR_MAX_MSG_TEXT);
|
|
}
|
|
else //Include the Error code , if any ,in the msg
|
|
{
|
|
LoadString(GetInstanceHandle(), IDS_FINALFAILMESSAGE, szBuf,LR_MAX_MSG_TEXT);
|
|
SetDlgItemText(hwnd, IDC_MESSAGE, szBuf);
|
|
|
|
LoadString(GetInstanceHandle(),dwRetCode,szBuf,LR_MAX_MSG_TEXT);
|
|
dwErrorCode = LRGetLastError();
|
|
if( dwErrorCode != 0)
|
|
{
|
|
_stprintf(szMsg,szBuf,dwErrorCode);
|
|
}
|
|
else
|
|
{
|
|
_tcscpy(szMsg,szBuf);
|
|
}
|
|
|
|
//Enable Back button in case of error
|
|
// LRPop();
|
|
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_BACK);
|
|
}
|
|
|
|
SetDlgItemText(hwnd,IDC_EDIT1,szMsg);
|
|
}
|
|
break;
|
|
|
|
case PSN_WIZNEXT:
|
|
if (SendDlgItemMessage(hwnd, IDC_NEXTACTION, BM_GETCHECK,
|
|
(WPARAM)0,(LPARAM)0) == BST_CHECKED)
|
|
{
|
|
switch (GetGlobalContext()->GetWizAction())
|
|
{
|
|
case WIZACTION_REGISTERLS:
|
|
case WIZACTION_CONTINUEREGISTERLS:
|
|
// Go to Obtain LKPs
|
|
// Go to the PIN screen
|
|
DWORD dwStatus;
|
|
DWORD dwRetCode = GetGlobalContext()->GetLSCertificates(&dwStatus);
|
|
|
|
// Error Handling $$BM
|
|
|
|
GetGlobalContext()->ClearWizStack();
|
|
dwNextPage = IDD_WELCOME;
|
|
|
|
if (GetGlobalContext()->GetActivationMethod() == CONNECTION_INTERNET)
|
|
{
|
|
GetGlobalContext()->SetLRState(LRSTATE_NEUTRAL);
|
|
GetGlobalContext()->SetLSStatus(LSERVERSTATUS_REGISTER_INTERNET);
|
|
}
|
|
else
|
|
{
|
|
GetGlobalContext()->SetLRState(LRSTATE_NEUTRAL);
|
|
GetGlobalContext()->SetLSStatus(LSERVERSTATUS_REGISTER_OTHER);
|
|
}
|
|
GetGlobalContext()->SetWizAction(WIZACTION_DOWNLOADLKP);
|
|
break;
|
|
}
|
|
LRW_SETWINDOWLONG(hwnd, LRW_DWL_MSGRESULT, dwNextPage);
|
|
bStatus = -1;
|
|
}
|
|
break;
|
|
|
|
case PSN_WIZBACK:
|
|
dwNextPage = LRPop();
|
|
LRW_SETWINDOWLONG(hwnd, LRW_DWL_MSGRESULT, dwNextPage);
|
|
bStatus = -1;
|
|
break;
|
|
|
|
default:
|
|
bStatus = FALSE;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
|
|
default:
|
|
bStatus = FALSE;
|
|
break;
|
|
}
|
|
return bStatus;
|
|
}
|