|
|
// File: dlgauth.cpp
#include "precomp.h"
#include "resource.h"
#include "ConfUtil.h"
#include "dlgauth.h"
extern GUID g_csguidSecurity;
/* C D L G A U T H */ /*-------------------------------------------------------------------------
%%Function: CDlgAuth
-------------------------------------------------------------------------*/ CDlgAuth::CDlgAuth(INmCall * pCall): m_hwnd(NULL), m_pCall(pCall) { }
CDlgAuth::~CDlgAuth(void) { }
INT_PTR CDlgAuth::DoModal(void) { return DialogBoxParam(::GetInstanceHandle(), MAKEINTRESOURCE(IDD_SECURE_CALL_INFO), ::GetMainWindow(), CDlgAuth::DlgProcAuth, (LPARAM) this); }
/* D L G P R O C A U T H */ /*-------------------------------------------------------------------------
%%Function: DlgProcAuth
-------------------------------------------------------------------------*/ BOOL CALLBACK CDlgAuth::DlgProcAuth(HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: { ASSERT(NULL != lParam); ::SetWindowLongPtr(hdlg, DWLP_USER, lParam);
CDlgAuth * pDlg = (CDlgAuth *) lParam; pDlg->m_hwnd = hdlg; pDlg->OnInitDialog(); return TRUE; // default focus is ok
}
case WM_COMMAND: { CDlgAuth * pDlg = (CDlgAuth*) GetWindowLongPtr(hdlg, DWLP_USER); if (NULL != pDlg) { pDlg->OnCommand(wParam, lParam); } break; } default: break; }
return FALSE; }
/* O N C O M M A N D */ /*-------------------------------------------------------------------------
%%Function: OnCommand
-------------------------------------------------------------------------*/ BOOL CDlgAuth::OnCommand(WPARAM wParam, LPARAM lParam) { ASSERT(NULL != m_hwnd);
WORD wCmd = LOWORD(wParam); switch (wCmd) { case IDOK: { ::EndDialog(m_hwnd, wCmd); return TRUE; }
case IDCANCEL: { ::EndDialog(m_hwnd, wCmd); return TRUE; }
default: break; }
return FALSE; }
/* O N I N I T D I A L O G */ /*-------------------------------------------------------------------------
%%Function: OnInitDialog
-------------------------------------------------------------------------*/ VOID CDlgAuth::OnInitDialog(void) { PBYTE pb = NULL; ULONG cb = 0;
CenterWindow(m_hwnd,HWND_DESKTOP); ASSERT(NULL != m_pCall); if (NULL != m_pCall && S_OK == m_pCall->GetUserData(g_csguidSecurity,&pb,&cb)) { if (cb > 0) { // Data was properly validated.
SetDlgItemText(m_hwnd,IDC_SECURE_CALL_CERT,(LPCTSTR)pb); CoTaskMemFree(pb); } else { // Something went wrong. Print an error message in the dialog box.
TCHAR szTextBuf[MAX_PATH]; if (FLoadString(IDS_SECURITY_INVALID_CERT, szTextBuf, CCHMAX(szTextBuf))) SetDlgItemText(m_hwnd,IDC_SECURE_CALL_CERT,szTextBuf); } } }
|