mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
3.6 KiB
150 lines
3.6 KiB
// RightsTestDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#import "\bin\McsDctWorkerObjects.tlb" no_namespace, named_guids
|
|
#include "Driver.h"
|
|
#include "Rights.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRightsTestDlg property page
|
|
|
|
IMPLEMENT_DYNCREATE(CRightsTestDlg, CPropertyPage)
|
|
|
|
CRightsTestDlg::CRightsTestDlg() : CPropertyPage(CRightsTestDlg::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CRightsTestDlg)
|
|
m_Computer = _T("");
|
|
m_AppendToFile = FALSE;
|
|
m_Filename = _T("");
|
|
m_NoChange = FALSE;
|
|
m_RemoveExisting = FALSE;
|
|
m_Source = _T("");
|
|
m_Target = _T("");
|
|
m_SourceAccount = _T("");
|
|
m_TargetAccount = _T("");
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
CRightsTestDlg::~CRightsTestDlg()
|
|
{
|
|
}
|
|
|
|
void CRightsTestDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CPropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CRightsTestDlg)
|
|
DDX_Text(pDX, IDC_COMPUTER, m_Computer);
|
|
DDX_Check(pDX, IDC_APPEND, m_AppendToFile);
|
|
DDX_Text(pDX, IDC_FILENAME, m_Filename);
|
|
DDX_Check(pDX, IDC_NOCHANGE, m_NoChange);
|
|
DDX_Check(pDX, IDC_REMOVE_EXISTING, m_RemoveExisting);
|
|
DDX_Text(pDX, IDC_Source, m_Source);
|
|
DDX_Text(pDX, IDC_Target, m_Target);
|
|
DDX_Text(pDX, IDC_SOURCE_ACCT, m_SourceAccount);
|
|
DDX_Text(pDX, IDC_TARGET_ACCT, m_TargetAccount);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CRightsTestDlg, CPropertyPage)
|
|
//{{AFX_MSG_MAP(CRightsTestDlg)
|
|
ON_BN_CLICKED(IDC_COPY_RIGHTS, OnCopyRights)
|
|
ON_BN_CLICKED(IDC_EXPORTTOFILE, OnExporttofile)
|
|
ON_BN_CLICKED(IDC_OPEN_SOURCE, OnOpenSource)
|
|
ON_BN_CLICKED(IDC_OPEN_TARGET, OnOpenTarget)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CRightsTestDlg message handlers
|
|
|
|
void CRightsTestDlg::OnCopyRights()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
CString result;
|
|
|
|
HRESULT hr = pRights->raw_CopyUserRights(m_SourceAccount.AllocSysString(),m_TargetAccount.AllocSysString());
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
result = L"CopyRights succeeded!";
|
|
}
|
|
else
|
|
{
|
|
result.Format(L"CopyRights failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(result);
|
|
}
|
|
|
|
void CRightsTestDlg::OnExporttofile()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
CString result;
|
|
HRESULT hr = pRights->raw_ExportUserRights(m_Computer.AllocSysString(),m_Filename.AllocSysString(),m_AppendToFile);
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
result = L"ExportToFile succeeded!";
|
|
}
|
|
else
|
|
{
|
|
result.Format(L"Export failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(result);
|
|
}
|
|
|
|
void CRightsTestDlg::OnOpenSource()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
HRESULT hr = pRights->raw_OpenSourceServer(m_Source.AllocSysString());
|
|
CString result;
|
|
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
result = L"OpenSource succeeded!";
|
|
}
|
|
else
|
|
{
|
|
result.Format(L"OpenSource failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(result);
|
|
|
|
}
|
|
|
|
void CRightsTestDlg::OnOpenTarget()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
HRESULT hr = pRights->raw_OpenTargetServer(m_Target.AllocSysString());
|
|
CString result;
|
|
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
result = L"OpenTarget succeeded!";
|
|
}
|
|
else
|
|
{
|
|
result.Format(L"OpenTarget failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(result);
|
|
}
|
|
|
|
BOOL CRightsTestDlg::OnSetActive()
|
|
{
|
|
HRESULT hr = pRights.CreateInstance(CLSID_UserRights);
|
|
if ( FAILED(hr) )
|
|
{
|
|
CString str;
|
|
str.Format(L"Failed to create UserRights COM object, hr=%lx",hr);
|
|
MessageBox(str);
|
|
}
|
|
return CPropertyPage::OnSetActive();
|
|
}
|