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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
   |  
// MIDL_DEFINE_GUID(CLSID, CLSID_CListObject,0x2AB23F66,0xE1C9,0x4316,0xA2,0x10,0xD4,0xC6,0xA1,0x06,0xE5,0x9A);
 
 
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
     // Initialize OLE libraries  ou      CoInitialize(NULL);
	if (!AfxOleInit())
	{
	     sprintf(chBuf, "erreur OLE init "); m_Key = m_Journal.WriteJournal(chBuf); // JOURNAL
		_tprintf(_T("Fatal Error: OLE  initialization failed\n"));
  	       return 0;
	}
 
       AfxEnableControlContainer();  // */
      CoInitialize(NULL);
	..
}
 
bool CMyService::OnInit(void)
{
	     return CreateListObject();
}
 
bool CMyService::CreateListObject()
{
//    return false;
     m_pListObjet = NULL;
	sprintf(chBuf, "avant  CoCreateInstance,  m_pListObjet = %x ", m_pListObjet); m_Key = m_Journal.WriteJournal(chBuf); // JOURNAL
 
	HRESULT hr = ::CoCreateInstance(CLSID_CListObject,
                                    NULL,
                                    CLSCTX_INPROC_SERVER,
                                    IID_IUnknown,
                                    (LPVOID*)&m_pListObjet);
   // return false;
 
   if (FAILED(hr)) { 
	   DWORD err = GetLastError(); 
	    switch (err) {
	    case S_OK :
		    sprintf(chBuf, "CoCreateInstance  return S_OK");  m_Journal.WriteJournal(chBuf); // JOURNAL
			break;
	    case  REGDB_E_CLASSNOTREG:
		    sprintf(chBuf, "REGDB_E_CLASSNOTREG"); m_Journal.WriteJournal(chBuf); // JOURNAL
		    break;
	    case  CLASS_E_NOAGGREGATION:
		    sprintf(chBuf, "CLASS_E_NOAGGREGATION"); m_Journal.WriteJournal(chBuf); // JOURNAL
		    break;
	    case    CO_E_CLASSSTRING:
		    sprintf(chBuf, "CO_E_CLASSSTRING"); m_Journal.WriteJournal(chBuf); // JOURNAL
		    break;
	    case E_NOINTERFACE :
		    sprintf(chBuf, "E_NOINTERFACE"); m_Journal.WriteJournal(chBuf); // JOURNAL
			break;
		default: break; 
		}
 
	    sprintf(chBuf, "FAILED(hr)  m_pListObjet = %x ", m_pListObjet); m_Journal.WriteJournal(chBuf, m_Key); // JOURNAL
 
    }
    ASSERT(m_pListObjet);
    ...
} | 
Partager