1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
   |  
	if (bRegister)
    {
      BOOL retVal= AfxOleRegisterControlClass(
			                                        AfxGetInstanceHandle(),
			                                        m_clsid,
			                                        m_lpszProgID,
			                                        IDS_RES,
			                                        IDB_RES,
			                                        afxRegApartmentThreading,
			                                        _dwApartmentOleMisc,
			                                        _tlid,
			                                        _wVerMajor,
			                                        _wVerMinor);
 
      // mark as safe for scripting--failure OK
		  HRESULT hr = CreateComponentCategory(CATID_SafeForScripting, 
			  L"Controls that are safely scriptable");
 
		  if (SUCCEEDED(hr))
			  // only register if category exists
			  RegisterCLSIDInCategory(m_clsid, CATID_SafeForScripting);
			  // don't care if this call fails
 
		  // mark as safe for data initialization
		  hr = CreateComponentCategory(CATID_SafeForInitializing, 
			  L"Controls safely initializable from persistent data");
 
		  if (SUCCEEDED(hr))
			  // only register if category exists
			  RegisterCLSIDInCategory(m_clsid, CATID_SafeForInitializing);
			  // don't care if this call fails
		  return retVal;
    }
	else
		return AfxOleUnregisterClass(m_clsid, m_lpszProgID); | 
Partager