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.
142 lines
3.4 KiB
142 lines
3.4 KiB
// MoveTest.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "driver.h"
|
|
#include "MoveTest.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMoveTest property page
|
|
|
|
IMPLEMENT_DYNCREATE(CMoveTest, CPropertyPage)
|
|
|
|
CMoveTest::CMoveTest() : CPropertyPage(CMoveTest::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CMoveTest)
|
|
m_SourceComputer = _T("whqrdt");
|
|
m_SourceDN = _T("CN=CBTest2,CN=Users,DC=devrdt,DC=com");
|
|
m_TargetComputer = _T("bolesw2ktest");
|
|
m_TargetContainer = _T("OU=Christy,DC=devchild,DC=devrdt,DC=com");
|
|
m_Account = _T("Administrator");
|
|
m_Password = _T("control");
|
|
m_TgtAccount = _T("");
|
|
m_Domain = _T("");
|
|
m_TgtDomain = _T("");
|
|
m_TgtPassword = _T("");
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
CMoveTest::~CMoveTest()
|
|
{
|
|
}
|
|
|
|
void CMoveTest::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CPropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CMoveTest)
|
|
DDX_Text(pDX, IDC_Source, m_SourceComputer);
|
|
DDX_Text(pDX, IDC_SOURCEDN, m_SourceDN);
|
|
DDX_Text(pDX, IDC_Target, m_TargetComputer);
|
|
DDX_Text(pDX, IDC_TARGET_CONTAINER, m_TargetContainer);
|
|
DDX_Text(pDX, IDC_ACCOUNT, m_Account);
|
|
DDX_Text(pDX, IDC_Password, m_Password);
|
|
DDX_Text(pDX, IDC_ACCOUNT2, m_TgtAccount);
|
|
DDX_Text(pDX, IDC_DOMAIN, m_Domain);
|
|
DDX_Text(pDX, IDC_DOMAIN2, m_TgtDomain);
|
|
DDX_Text(pDX, IDC_Password2, m_TgtPassword);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CMoveTest, CPropertyPage)
|
|
//{{AFX_MSG_MAP(CMoveTest)
|
|
ON_BN_CLICKED(IDC_MOVE, OnMove)
|
|
ON_BN_CLICKED(IDC_CONNECT, OnConnect)
|
|
ON_BN_CLICKED(IDC_CLOSE, OnClose)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CMoveTest message handlers
|
|
|
|
void CMoveTest::OnMove()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
HRESULT hr;
|
|
CString msg;
|
|
|
|
hr = m_pMover->raw_MoveObject(m_SourceDN.AllocSysString(),m_TargetContainer.AllocSysString());
|
|
if ( SUCCEEDED(hr))
|
|
{
|
|
msg = L"Moved successfully!";
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"MoveObject failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(msg);
|
|
}
|
|
|
|
BOOL CMoveTest::OnInitDialog()
|
|
{
|
|
CPropertyPage::OnInitDialog();
|
|
|
|
HRESULT hr = m_pMover.CreateInstance(CLSID_Mover);
|
|
if ( FAILED(hr) )
|
|
{
|
|
CString msg;
|
|
msg.Format(L"CreateInstance(ObjectMover) failed, hr=%lx",hr);
|
|
MessageBox(msg);
|
|
}
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CMoveTest::OnConnect()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
HRESULT hr;
|
|
CString msg;
|
|
|
|
hr = m_pMover->raw_Connect(m_SourceComputer.AllocSysString(),m_TargetComputer.AllocSysString(),
|
|
m_Domain.AllocSysString(),m_Account.AllocSysString(),m_Password.AllocSysString(),
|
|
m_TgtDomain.AllocSysString(),m_TgtAccount.AllocSysString(),m_TgtPassword.AllocSysString());
|
|
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
msg = L"Connected successfully!";
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"Connect failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(msg);
|
|
}
|
|
|
|
void CMoveTest::OnClose()
|
|
{
|
|
UpdateData(TRUE);
|
|
CWaitCursor w;
|
|
HRESULT hr;
|
|
CString msg;
|
|
|
|
hr = m_pMover->raw_Close();
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
msg = L"Closed successfully!";
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"Close() failed, hr=%lx",hr);
|
|
}
|
|
MessageBox(msg);
|
|
}
|