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.
166 lines
4.5 KiB
166 lines
4.5 KiB
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
|
|
|
|
// NOTE: Do not modify the contents of this file. If this class is regenerated by
|
|
// Microsoft Visual C++, your modifications will be overwritten.
|
|
|
|
|
|
#include "stdafx.h"
|
|
#include "inetmgrapp.h"
|
|
#include "impexp.h"
|
|
#include "iisuiobj.h"
|
|
|
|
extern CInetmgrApp theApp;
|
|
|
|
inline HRESULT SetBlanket(LPUNKNOWN pIUnk)
|
|
{
|
|
return CoSetProxyBlanket( pIUnk,
|
|
RPC_C_AUTHN_WINNT, // NTLM authentication service
|
|
RPC_C_AUTHZ_NONE, // default authorization service...
|
|
NULL, // no mutual authentication
|
|
RPC_C_AUTHN_LEVEL_DEFAULT, // authentication level
|
|
RPC_C_IMP_LEVEL_IMPERSONATE, // impersonation level
|
|
NULL, // use current token
|
|
EOAC_NONE ); // no special capabilities
|
|
}
|
|
|
|
HRESULT DoNodeExportConfig(BSTR bstrMachineName,BSTR bstrUserName,BSTR bstrUserPassword,BSTR bstrMetabasePath)
|
|
{
|
|
HRESULT hResult = E_FAIL;
|
|
BOOL bPleaseDoCoUninit = FALSE;
|
|
IImportExportConfig *pTheObject = NULL;
|
|
CLSID clsID;
|
|
|
|
if (!bstrMetabasePath)
|
|
{
|
|
return HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER);
|
|
}
|
|
|
|
if(FAILED(hResult = CoInitialize(NULL)))
|
|
{
|
|
return hResult;
|
|
}
|
|
bPleaseDoCoUninit = TRUE;
|
|
|
|
if (FAILED(hResult = CLSIDFromProgID(OLESTR("IISUIObj.ImportExportConfig"), &clsID)))
|
|
{
|
|
goto DoNodeExportConfig_Exit;
|
|
}
|
|
|
|
if (FAILED(hResult = CoCreateInstance(clsID,NULL,CLSCTX_SERVER,__uuidof(IImportExportConfig),(void **)&pTheObject)))
|
|
{
|
|
goto DoNodeExportConfig_Exit;
|
|
}
|
|
|
|
SetBlanket(pTheObject);
|
|
|
|
// at this point we were able to instantiate the com object on the server (local or remote)
|
|
if (bstrMachineName)
|
|
{
|
|
hResult = pTheObject->put_MachineName(bstrMachineName);
|
|
}
|
|
|
|
if (bstrUserName)
|
|
{
|
|
hResult = pTheObject->put_UserName(bstrUserName);
|
|
}
|
|
|
|
if (bstrUserPassword)
|
|
{
|
|
hResult = pTheObject->put_UserPassword(bstrUserPassword);
|
|
}
|
|
|
|
{
|
|
// ensure the dialog gets themed
|
|
CThemeContextActivator activator(theApp.GetFusionInitHandle());
|
|
// call the export object
|
|
if (FAILED(hResult= pTheObject->ExportConfigToFileUI(bstrMetabasePath)))
|
|
{
|
|
goto DoNodeExportConfig_Exit;
|
|
}
|
|
}
|
|
DoNodeExportConfig_Exit:
|
|
if (pTheObject)
|
|
{
|
|
pTheObject->Release();
|
|
pTheObject = NULL;
|
|
}
|
|
if (bPleaseDoCoUninit)
|
|
{
|
|
CoUninitialize();
|
|
}
|
|
return hResult;
|
|
}
|
|
|
|
HRESULT DoNodeImportConfig(BSTR bstrMachineName,BSTR bstrUserName,BSTR bstrUserPassword,BSTR bstrMetabasePath,BSTR bstrKeyType)
|
|
{
|
|
HRESULT hResult = E_FAIL;
|
|
BOOL bPleaseDoCoUninit = FALSE;
|
|
IImportExportConfig *pTheObject = NULL;
|
|
CLSID clsID;
|
|
|
|
if (!bstrMetabasePath)
|
|
{
|
|
return HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER);
|
|
}
|
|
|
|
if (!bstrKeyType)
|
|
{
|
|
return HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER);
|
|
}
|
|
|
|
if(FAILED(hResult = CoInitialize(NULL)))
|
|
{
|
|
return hResult;
|
|
}
|
|
bPleaseDoCoUninit = TRUE;
|
|
|
|
if (FAILED(hResult = CLSIDFromProgID(OLESTR("IISUIObj.ImportExportConfig"), &clsID)))
|
|
{
|
|
goto DoNodeImportConfig_Exit;
|
|
}
|
|
|
|
if (FAILED(hResult = CoCreateInstance(clsID,NULL,CLSCTX_SERVER,__uuidof(IImportExportConfig),(void **)&pTheObject)))
|
|
{
|
|
goto DoNodeImportConfig_Exit;
|
|
}
|
|
|
|
SetBlanket(pTheObject);
|
|
|
|
// at this point we were able to instantiate the com object on the server (local or remote)
|
|
if (bstrMachineName)
|
|
{
|
|
hResult = pTheObject->put_MachineName(bstrMachineName);
|
|
}
|
|
|
|
if (bstrUserName)
|
|
{
|
|
hResult = pTheObject->put_UserName(bstrUserName);
|
|
}
|
|
|
|
if (bstrUserPassword)
|
|
{
|
|
hResult = pTheObject->put_UserPassword(bstrUserPassword);
|
|
}
|
|
|
|
{
|
|
// ensure the dialog gets themed
|
|
CThemeContextActivator activator(theApp.GetFusionInitHandle());
|
|
// call the import object
|
|
if (FAILED(hResult = pTheObject->ImportConfigFromFileUI(bstrMetabasePath,bstrKeyType)))
|
|
{
|
|
goto DoNodeImportConfig_Exit;
|
|
}
|
|
}
|
|
|
|
DoNodeImportConfig_Exit:
|
|
if (pTheObject)
|
|
{
|
|
pTheObject->Release();
|
|
pTheObject = NULL;
|
|
}
|
|
if (bPleaseDoCoUninit)
|
|
{
|
|
CoUninitialize();
|
|
}
|
|
return hResult;
|
|
}
|