windows-nt/Source/XPSP1/NT/admin/snapin/certentp/templatev2requestpropertypage.h
2020-09-26 16:20:57 +08:00

109 lines
3.3 KiB
C++

/////////////////////////////////////////////////////////////////////////////////
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000-2001.
//
// File: TemplateV2RequestPropertyPage.h
//
// Contents: Definition of CTemplateV2RequestPropertyPage
//
//----------------------------------------------------------------------------
#if !defined(AFX_TEMPLATEV2REQUESTPROPERTYPAGE_H__A3E4D067_D3C3_4C85_A331_97D940A82063__INCLUDED_)
#define AFX_TEMPLATEV2REQUESTPROPERTYPAGE_H__A3E4D067_D3C3_4C85_A331_97D940A82063__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// TemplateV2RequestPropertyPage.h : header file
//
#include "CertTemplate.h"
#include "TemplateV1RequestPropertyPage.h"
/////////////////////////////////////////////////////////////////////////////
// CTemplateV2RequestPropertyPage dialog
class CTemplateV2RequestPropertyPage : public CHelpPropertyPage
{
// Construction
public:
CTemplateV2RequestPropertyPage(CCertTemplate& rCertTemplate, bool& rbIsDirty);
virtual ~CTemplateV2RequestPropertyPage();
// Dialog Data
//{{AFX_DATA(CTemplateV2RequestPropertyPage)
enum { IDD = IDD_TEMPLATE_V2_REQUEST };
CComboBox m_minKeySizeCombo;
CComboBox m_purposeCombo;
CSPCheckListBox m_CSPListbox;
//}}AFX_DATA
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CTemplateV2RequestPropertyPage)
public:
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
virtual void DoContextHelp (HWND hWndControl);
void AddKeySizeToCombo (DWORD dwValue, PCWSTR strValue, DWORD dwSizeToSelect);
HRESULT EnumerateCSPs(DWORD dwMinKeySize);
// Generated message map functions
//{{AFX_MSG(CTemplateV2RequestPropertyPage)
afx_msg void OnSelchangePurposeCombo();
afx_msg void OnExportPrivateKey();
afx_msg void OnArchiveKeyCheck();
afx_msg void OnIncludeSymmetricAlgorithmsCheck();
afx_msg void OnSelchangeMinimumKeysizeValue();
afx_msg void OnUserInputRequiredForAutoenrollment();
afx_msg void OnDeletePermanently();
afx_msg void OnDestroy();
//}}AFX_MSG
afx_msg void OnCheckChange();
DECLARE_MESSAGE_MAP()
virtual BOOL OnInitDialog();
virtual void EnableControls ();
HRESULT CSPGetMaxKeySupported (
PCWSTR pszProvider,
DWORD dwProvType,
DWORD& dwSigMaxKey,
DWORD& dwKeyExMaxKey);
void NormalizeCSPListBox (DWORD dwMinKeySize, bool bSetChecks);
private:
bool& m_rbIsDirty;
CCertTemplate& m_rCertTemplate;
int m_nProvDSSCnt;
class CT_CSP_DATA
{
public:
CT_CSP_DATA (PCWSTR pszName, DWORD dwProvType, DWORD dwSigMaxKeySize, DWORD dwKeyExMaxKeySize)
: m_szName (pszName),
m_dwProvType (dwProvType),
m_dwSigMaxKeySize (dwSigMaxKeySize),
m_dwKeyExMaxKeySize (dwKeyExMaxKeySize)
{
}
CString m_szName;
DWORD m_dwProvType;
DWORD m_dwSigMaxKeySize;
DWORD m_dwKeyExMaxKeySize;
};
typedef CTypedPtrList<CPtrList, CT_CSP_DATA*> CSP_LIST;
CSP_LIST m_CSPList;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TEMPLATEV2REQUESTPROPERTYPAGE_H__A3E4D067_D3C3_4C85_A331_97D940A82063__INCLUDED_)