135 lines
2.7 KiB
C++
135 lines
2.7 KiB
C++
|
// 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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|