Source code of Windows XP (NT5)
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

// 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);
}