windows-nt/Source/XPSP1/NT/inetsrv/iis/ui/admin/cnfgprts/cnfgprts.cpp
2020-09-26 16:20:57 +08:00

95 lines
2.5 KiB
C++

// cnfgprts.cpp : Implementation of CCnfgprtsApp and DLL registration.
#include "stdafx.h"
#include "cnfgprts.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CCnfgprtsApp NEAR theApp;
const GUID CDECL BASED_CODE _tlid =
{ 0xba634600, 0xb771, 0x11d0, { 0x92, 0x96, 0, 0xc0, 0x4f, 0xb6, 0x67, 0x8b } };
const WORD _wVerMajor = 1;
const WORD _wVerMinor = 0;
////////////////////////////////////////////////////////////////////////////
// CCnfgprtsApp::InitInstance - DLL initialization
BOOL CCnfgprtsApp::InitInstance()
{
BOOL bInit = COleControlModule::InitInstance();
AfxEnableControlContainer( );
if (bInit)
{
// finally, we need to redirect the winhelp file location to something more desirable
CString sz;
CString szHelpLocation;
sz.LoadString( IDS_HELPLOC_HELP );
// expand the path
ExpandEnvironmentStrings(
sz, // pointer to string with environment variables
szHelpLocation.GetBuffer(MAX_PATH + 1), // pointer to string with expanded environment variables
MAX_PATH // maximum characters in expanded string
);
szHelpLocation.ReleaseBuffer();
// free the existing path, and copy in the new one
if ( m_pszHelpFilePath )
free((void*)m_pszHelpFilePath);
m_pszHelpFilePath = _tcsdup(szHelpLocation);
}
return bInit;
}
////////////////////////////////////////////////////////////////////////////
// CCnfgprtsApp::ExitInstance - DLL termination
int CCnfgprtsApp::ExitInstance()
{
return COleControlModule::ExitInstance();
}
/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
AFX_MANAGE_STATE(_afxModuleAddrThis);
if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
return ResultFromScode(SELFREG_E_TYPELIB);
if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
return ResultFromScode(SELFREG_E_CLASS);
return NOERROR;
}
/////////////////////////////////////////////////////////////////////////////
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
AFX_MANAGE_STATE(_afxModuleAddrThis);
if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor))
return ResultFromScode(SELFREG_E_TYPELIB);
if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
return ResultFromScode(SELFREG_E_CLASS);
return NOERROR;
}