// GamePlayer.cpp : Implementation of CGamePlayerApp and DLL registration. #include "stdafx.h" #include "GamePlayer.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif CGamePlayerApp NEAR theApp; const GUID CDECL BASED_CODE _tlid = { 0x85710e71, 0x4fa5, 0x439a, { 0xbb, 0xc5, 0x7f, 0x11, 0x33, 0x6b, 0xb7, 0x71 } }; const WORD _wVerMajor = 1; const WORD _wVerMinor = 0; #include "CatHelp.h" const CATID CATID_SafeForScripting = {0x7dd95801,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}}; const CATID CATID_SafeForInitializing = {0x7dd95802,0x9882,0x11cf,{0x9f,0xa9,0x00,0xaa,0x00,0x6c,0x42,0xc4}}; //////////////////////////////////////////////////////////////////////////// // CGamePlayerApp::InitInstance - DLL initialization BOOL CGamePlayerApp::InitInstance() { BOOL bInit = COleControlModule::InitInstance(); if (bInit) { // TODO: Add your own module initialization code here. } return bInit; } //////////////////////////////////////////////////////////////////////////// // CGamePlayerApp::ExitInstance - DLL termination int CGamePlayerApp::ExitInstance() { // TODO: Add your own module termination code here. 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); if (FAILED( CreateComponentCategory( CATID_SafeForScripting, L"Controls that are safely scriptable") )) return ResultFromScode(SELFREG_E_CLASS); if (FAILED( CreateComponentCategory( CATID_SafeForInitializing, L"Controls safely initializable from persistent data") )) return ResultFromScode(SELFREG_E_CLASS); if (FAILED( RegisterCLSIDInCategory( _tlid, CATID_SafeForScripting) )) return ResultFromScode(SELFREG_E_CLASS); if (FAILED( RegisterCLSIDInCategory( _tlid, CATID_SafeForInitializing) )) return ResultFromScode(SELFREG_E_CLASS); //modify registry to register you type so that it can be load from IE by using "type" attribute // return NOERROR; }