WindowsXP-SP1/termsrv/license/lrwizapi/chltype.cpp
2020-09-30 16:53:49 +02:00

143 lines
3.9 KiB
C++

//Copyright (c) 1998 - 1999 Microsoft Corporation
#include "precomp.h"
LRW_DLG_INT CALLBACK
CustInfoLicenseType(
IN HWND hwnd,
IN UINT uMsg,
IN WPARAM wParam,
IN LPARAM lParam
)
{
DWORD dwNextPage = 0;
BOOL bStatus = TRUE;
PageInfo *pi = (PageInfo *)LRW_GETWINDOWLONG( hwnd, LRW_GWL_USERDATA );
switch (uMsg)
{
case WM_INITDIALOG:
{
TCHAR szBuffer[ 1024];
pi = (PageInfo *)((LPPROPSHEETPAGE)lParam)->lParam;
LRW_SETWINDOWLONG( hwnd, LRW_GWL_USERDATA, (LRW_LONG_PTR)pi );
//
//By default Check the first RADIO button.
//
SendDlgItemMessage(hwnd,IDC_RD_REG_SELECT,BM_SETCHECK,(WPARAM)BST_CHECKED,(LPARAM)0);
LoadString(GetInstanceHandle(), IDS_SELECT_DESCRIPTION,
szBuffer, sizeof(szBuffer)/sizeof(TCHAR));
SendDlgItemMessage(hwnd, IDC_DESCRIPTION,
WM_SETTEXT,(WPARAM)0,
(LPARAM)(LPCTSTR)szBuffer);
}
break;
case WM_DESTROY:
LRW_SETWINDOWLONG( hwnd, LRW_GWL_USERDATA, NULL );
break;
case WM_COMMAND:
if (HIWORD(wParam) == BN_CLICKED)
{
TCHAR szBuffer[ 1024];
switch ( LOWORD(wParam) ) //from which control
{
case IDC_RD_REG_SELECT:
LoadString(GetInstanceHandle(), IDS_SELECT_DESCRIPTION,
szBuffer, sizeof(szBuffer)/sizeof(TCHAR));
SendDlgItemMessage(hwnd, IDC_DESCRIPTION,
WM_SETTEXT,(WPARAM)0,
(LPARAM)(LPCTSTR)szBuffer);
break;
case IDC_RD_REG_MOLP:
LoadString(GetInstanceHandle(), IDS_OPEN_DESCRIPTION,
szBuffer, sizeof(szBuffer)/sizeof(TCHAR));
SendDlgItemMessage(hwnd, IDC_DESCRIPTION,
WM_SETTEXT,(WPARAM)0,
(LPARAM)(LPCTSTR)szBuffer);
break;
case IDC_RD_REG_OTHER:
LoadString(GetInstanceHandle(), IDS_OTHER_DESCRIPTION,
szBuffer, sizeof(szBuffer)/sizeof(TCHAR));
SendDlgItemMessage(hwnd, IDC_DESCRIPTION,
WM_SETTEXT,(WPARAM)0,
(LPARAM)(LPCTSTR)szBuffer);
break;
}
}
break;
case WM_NOTIFY:
{
LPNMHDR pnmh = (LPNMHDR)lParam;
switch( pnmh->code )
{
case PSN_SETACTIVE:
PropSheet_SetWizButtons( GetParent( hwnd ), PSWIZB_NEXT | PSWIZB_BACK);
break;
case PSN_WIZNEXT:
if(SendDlgItemMessage(hwnd,IDC_RD_REG_SELECT,BM_GETCHECK,(WPARAM)0,(LPARAM)0) == BST_CHECKED)
{
GetGlobalContext()->GetContactDataObject()->sProgramName = PROGRAM_SELECT;
}
else if (SendDlgItemMessage(hwnd,IDC_RD_REG_MOLP,BM_GETCHECK,(WPARAM)0,(LPARAM)0) == BST_CHECKED)
{
GetGlobalContext()->GetContactDataObject()->sProgramName = PROGRAM_MOLP;
}
else
{
GetGlobalContext()->GetContactDataObject()->sProgramName = PROGRAM_RETAIL;
}
//
// Check the Certificate is valid for the Selected Program
//
if (!CheckProgramValidity(GetGlobalContext()->GetContactDataObject()->sProgramName))
{
LRMessageBox(hwnd,IDS_ERR_CERT_NOT_ENOUGH);
dwNextPage = IDD_LICENSETYPE;
}
else
{
dwNextPage = IDD_CONTACTINFO1;
}
GetGlobalContext()->SetInRegistery(szOID_BUSINESS_CATEGORY, GetGlobalContext()->GetContactDataObject()->sProgramName);
LRW_SETWINDOWLONG(hwnd, LRW_DWL_MSGRESULT, dwNextPage);
bStatus = -1;
if (dwNextPage != IDD_LICENSETYPE)
{
LRPush(IDD_LICENSETYPE);
}
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;
}