|
|
//--------------------------------------------------------------
// Copyright (C) Microsoft Corporation, 1996 - 1997
//
// File: cepsetup.h
//
// Contents: The private include file for cepsetup.exe.
//
// History: August-12-1999 xiaohs Created
//
//--------------------------------------------------------------
#ifndef CEPSETUP_H
#define CEPSETUP_H
#ifdef __cplusplus
extern "C" { #endif
//-----------------------------------------------------------------------
//
// Constants
//
//-----------------------------------------------------------------------
#define MAX_STRING_SIZE 512
#define CEP_PROP_SHEET 7
#define MAX_TITLE_LENGTH 128
#define RA_INFO_COUNT 7
#define CEP_KEY_LENGTH_STRING 15
#define SCEP_APPLICATION_POOL L"SCEP"
#define IIS_WPG L"IIS_WPG"
#define SCEP_SERVICE_WAIT_PERIOD 120 //by default we wait for 120 seconds
//-----------------------------------------------------------------------
//
// CEP_PAGE_INFO
//
//------------------------------------------------------------------------
typedef struct _CEP_PAGE_INFO { LPCWSTR pszTemplate; DLGPROC pfnDlgProc; }CEP_PAGE_INFO;
typedef struct _CEP_ENROLL_INFO { LPWSTR pwszPreFix; DWORD dwIDC; }CEP_ENROLL_INFO;
typedef struct _CEP_CSP_INFO { LPWSTR pwszCSPName; DWORD dwCSPType; BOOL fSignature; BOOL fEncryption; DWORD dwMaxSign; //Max key length of signature
DWORD dwMinSign; //Min key length of signature
DWORD dwDefaultSign; //default key length of signature
DWORD dwMaxEncrypt; DWORD dwMinEncrypt; DWORD dwDefaultEncrypt; DWORD *pdwSignList; //the table of possible signing key length
DWORD dwSignCount; //the count of entries in the table
DWORD *pdwEncryptList; DWORD dwEncryptCount; }CEP_CSP_INFO;
typedef struct _CEP_WIZARD_INFO { HFONT hBigBold; HFONT hBold; BOOL fEnrollAdv; BOOL fPassword; LPWSTR rgpwszName[RA_INFO_COUNT]; CEP_CSP_INFO *rgCSPInfo; DWORD dwCSPCount; DWORD dwSignProvIndex; DWORD dwSignKeyLength; DWORD dwEncryptProvIndex; DWORD dwEncryptKeyLength; BOOL fEnterpriseCA; BOOL fDC; LPWSTR pwszUserName; LPWSTR pwszPassword; HANDLE hAccountToken; IDsObjectPicker *pIDsObjectPicker; BOOL fDomain; DWORD dwServiceWait; BOOL fLocalSystem; }CEP_WIZARD_INFO;
//-----------------------------------------------------------------------
//
// Function Prototypes
//
//-----------------------------------------------------------------------
BOOL WINAPI IsValidInstallation(UINT *pidsMsg);
int WINAPI CEPMessageBox( HWND hWnd, UINT idsText, UINT uType);
int WINAPI CEPErrorMessageBox( HWND hWnd, UINT idsReason, HRESULT hr, UINT uType );
int WINAPI CEPErrorMessageBoxEx( HWND hWnd, UINT idsReason, HRESULT hr, UINT uType, UINT idsFormat1, UINT idsFormat2 );
BOOL WINAPI FormatMessageUnicode(LPWSTR *ppwszFormat,UINT ids,...);
BOOL WINAPI CEPWizardInit();
void WINAPI FreeCEPWizardInfo(CEP_WIZARD_INFO *pCEPWizardInfo);
void WINAPI SetControlFont( IN HFONT hFont, IN HWND hwnd, IN INT nId );
BOOL WINAPI SetupFonts( IN HINSTANCE hInstance, IN HWND hwnd, IN HFONT *pBigBoldFont, IN HFONT *pBoldFont );
void WINAPI DestroyFonts( IN HFONT hBigBoldFont, IN HFONT hBoldFont );
BOOL WINAPI RemoveRACertificates();
void WINAPI DisplayConfirmation(HWND hwndControl, CEP_WIZARD_INFO *pCEPWizardInfo);
BOOL WINAPI UpdateCEPRegistry(BOOL fPassword, BOOL fEnterpriseCA);
BOOL WINAPI EmptyCEPStore();
BOOL WINAPI CEPGetCSPInformation(CEP_WIZARD_INFO *pCEPWizardInfo);
BOOL WINAPI GetSelectedKeyLength(HWND hwndDlg, int idControl, DWORD *pdwKeyLength);
BOOL WINAPI GetSelectedCSP(HWND hwndDlg, int idControl, DWORD *pdwCSPIndex);
BOOL WINAPI RefreshKeyLengthCombo(HWND hwndDlg, int idsList, int idsCombo, BOOL fSign, CEP_WIZARD_INFO *pCEPWizardInfo);
BOOL WINAPI InitCSPList(HWND hwndDlg, int idControl, BOOL fSign, CEP_WIZARD_INFO *pCEPWizardInfo);
BOOL WINAPI I_DoSetupWork(HWND hWnd, CEP_WIZARD_INFO *pCEPWizardInfo);
HRESULT WINAPI AddLogSourceToRegistry(LPWSTR pwszMsgDLL);
LPWSTR GetAccountDomainName(BOOL fDC);
BOOL CEPGetAccountNameFromPicker(HWND hwndParent, IDsObjectPicker *pDsObjectPicker, LPWSTR *ppwszSelectedUserSAM);
#ifdef __cplusplus
} // Balance extern "C" above
#endif
#endif //CEPSETUP_H
|