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.
127 lines
3.4 KiB
127 lines
3.4 KiB
// TrustTst.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "driver.h"
|
|
#include "TrustTst.h"
|
|
|
|
//#import "\bin\TrustMgr.tlb" no_namespace
|
|
#import "TrustMgr.tlb" no_namespace
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTrustTst property page
|
|
|
|
IMPLEMENT_DYNCREATE(CTrustTst, CPropertyPage)
|
|
|
|
CTrustTst::CTrustTst() : CPropertyPage(CTrustTst::IDD)
|
|
{
|
|
//{{AFX_DATA_INIT(CTrustTst)
|
|
m_Trusted = _T("DEVRAPTORW2K");
|
|
m_Trusting = _T("MCSDEV");
|
|
m_CredTrustedAccount = _T("Administrator");
|
|
m_CredTrustedDomain = _T("DEVRAPTORW2K");
|
|
m_CredTrustedPassword = _T("control");
|
|
m_CredTrustingAccount = _T("");
|
|
m_CredTrustingDomain = _T("");
|
|
m_CredTrustingPassword = _T("");
|
|
m_Bidirectional = FALSE;
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
CTrustTst::~CTrustTst()
|
|
{
|
|
}
|
|
|
|
void CTrustTst::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CPropertyPage::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CTrustTst)
|
|
DDX_Text(pDX, IDC_TRUSTED, m_Trusted);
|
|
DDX_Text(pDX, IDC_TRUSTING, m_Trusting);
|
|
DDX_Text(pDX, IDC_CRED_ED_ACCOUNT, m_CredTrustedAccount);
|
|
DDX_Text(pDX, IDC_CRED_ED_DOMAIN, m_CredTrustedDomain);
|
|
DDX_Text(pDX, IDC_CRED_ED_PASSWORD, m_CredTrustedPassword);
|
|
DDX_Text(pDX, IDC_CRED_ING_ACCOUNT, m_CredTrustingAccount);
|
|
DDX_Text(pDX, IDC_CRED_ING_DOMAIN, m_CredTrustingDomain);
|
|
DDX_Text(pDX, IDC_CRED_ING_PASSWORD, m_CredTrustingPassword);
|
|
DDX_Check(pDX, IDC_BIDIR, m_Bidirectional);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CTrustTst, CPropertyPage)
|
|
//{{AFX_MSG_MAP(CTrustTst)
|
|
ON_BN_CLICKED(IDC_CREATE_TRUST, OnCreateTrust)
|
|
ON_BN_CLICKED(IDC_CREATE_WITH_CREDS, OnCreateWithCreds)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CTrustTst message handlers
|
|
|
|
void CTrustTst::OnCreateTrust()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
CWaitCursor w;
|
|
HRESULT hr;
|
|
CString msg;
|
|
ITrustPtr pEnum;
|
|
|
|
hr = pEnum.CreateInstance(__uuidof(Trust));
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
hr = pEnum->raw_CreateTrust(m_Trusting.AllocSysString(),m_Trusted.AllocSysString(),m_Bidirectional);
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
msg = L"Succeeded!";
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"CreateTrust failed, hr=%lx",hr);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"Failed to create Trust Enumerator COM object,hr=%lx",hr);
|
|
}
|
|
MessageBox(msg);
|
|
}
|
|
|
|
void CTrustTst::OnCreateWithCreds()
|
|
{
|
|
UpdateData(TRUE);
|
|
|
|
CWaitCursor w;
|
|
HRESULT hr;
|
|
CString msg;
|
|
ITrustPtr pEnum;
|
|
|
|
hr = pEnum.CreateInstance(__uuidof(Trust));
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
hr = pEnum->raw_CreateTrustWithCreds(m_Trusting.AllocSysString(),m_Trusted.AllocSysString(),
|
|
m_CredTrustingDomain.AllocSysString(),m_CredTrustingAccount.AllocSysString(),m_CredTrustingPassword.AllocSysString(),
|
|
m_CredTrustedDomain.AllocSysString(),m_CredTrustedAccount.AllocSysString(),m_CredTrustedPassword.AllocSysString(),
|
|
m_Bidirectional);
|
|
if ( SUCCEEDED(hr) )
|
|
{
|
|
msg = L"Succeeded!";
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"CreateTrust failed, hr=%lx",hr);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
msg.Format(L"Failed to create Trust Enumerator COM object,hr=%lx",hr);
|
|
}
|
|
MessageBox(msg);
|
|
}
|