| 12
 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