|
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997-2001.
//
// File: Password.cpp
//
// Contents:
//
//----------------------------------------------------------------------------\ // Password.cpp : implementation file
//
#include "stdafx.h"
#include "Password.h"
#ifdef _DEBUG
#ifndef ALPHA
#define new DEBUG_NEW
#endif
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CPassword dialog
/*
// This dialog is used by EFS Recovery agent export key code, which is
// currently commented out.
CPassword::CPassword(CWnd* pParent) : CHelpDialog(CPassword::IDD, pParent) { //{{AFX_DATA_INIT(CPassword)
m_strPassword1 = _T(""); m_strPassword2 = _T(""); //}}AFX_DATA_INIT
}
void CPassword::DoDataExchange(CDataExchange* pDX) { CHelpDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPassword)
DDX_Control(pDX, IDC_PASSWORD1, m_password1Edit); DDX_Text(pDX, IDC_PASSWORD1, m_strPassword1); DDX_Text(pDX, IDC_PASSWORD2, m_strPassword2); //}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPassword, CHelpDialog) //{{AFX_MSG_MAP(CPassword)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPassword message handlers
LPCWSTR CPassword::GetPassword() const { return (LPCWSTR) m_strPassword1; }
void CPassword::OnOK() { VERIFY (UpdateData (TRUE));
if ( m_strPassword1 != m_strPassword2 ) { CString caption; CString text; CThemeContextActivator activator;
VERIFY (caption.LoadString (IDS_SET_PASSWORD)); VERIFY (text.LoadString (IDS_PASSWORDS_DONT_MATCH));
MessageBox (text, caption, MB_OK); ClearPasswords (); VERIFY (UpdateData (FALSE)); m_password1Edit.SetFocus (); } else CHelpDialog::OnOK(); }
void CPassword::OnCancel() { CString caption; CString text; CThemeContextActivator activator;
VERIFY (caption.LoadString (IDS_SET_PASSWORD)); VERIFY (text.LoadString (IDS_CANCEL_NO_CREATE_PFX));
if ( IDYES == MessageBox (text, caption, MB_YESNO) ) CHelpDialog::OnCancel(); }
CPassword::~CPassword() { // Zero out memory before freeing to protect password
ClearPasswords (); }
BOOL CPassword::OnInitDialog() { CHelpDialog::OnInitDialog(); m_password1Edit.SetFocus (); return FALSE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CPassword::ClearPasswords() { size_t len = m_strPassword1.GetLength (); LPWSTR pstr = m_strPassword1.GetBuffer ((int) len); if ( pstr ) { memset (pstr, 0, len * sizeof (TCHAR)); } m_strPassword1.ReleaseBuffer ();
len = m_strPassword2.GetLength (); pstr = m_strPassword2.GetBuffer ((int) len); if ( pstr ) { memset (pstr, 0, len * sizeof (TCHAR)); } m_strPassword2.ReleaseBuffer (); }
void CPassword::DoContextHelp (HWND hWndControl) { _TRACE (1, L"Entering CPassword::DoContextHelp\n"); static const DWORD help_map[] = { IDC_PASSWORD1, IDH_PASSWORD_PASSWORD1, IDC_PASSWORD2, IDH_PASSWORD_PASSWORD2, 0, 0 };
// Display context help for a control
if ( !::WinHelp ( hWndControl, GetF1HelpFilename(), HELP_WM_HELP, (DWORD_PTR) help_map) ) { _TRACE (0, L"WinHelp () failed: 0x%x\n", GetLastError ()); } _TRACE (-1, L"Leaving CPassword::DoContextHelp\n"); } */
|