CoCreateInstance 애러쫌.. 부탁합니다.
파랑
#include stdafx.h
#include HelloServerComApp.h
//#import ../../HelloServerCom/HelloServerCom/Debug/HelloServerCom.tlb
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 유일한 응용 프로그램 개체입니다.
#include iostream
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// MFC를 초기화합니다. 초기화하지 못한 경우 오류를 인쇄합니다.
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: 오류 코드를 필요에 따라 수정합니다.
_tprintf(_T(심각한 오류: MFC를 초기화하지 못했습니다.\n));
nRetCode = 1;
}
else
{
// TODO: 응용 프로그램의 동작은 여기에서 코딩합니다.
HRESULT hr ;
hr = CoInitializeEx(NULL,COINIT_APARTMENTTHREADED );
if (hr != S_OK)
{
cout Can Not Initialize! endl ;
}
CLSID clsid ;
hr =::CLSIDFromProgID(LServerComponetLib.ServerComponent.1,&clsid);
if (hr != S_OK)
{
cout 초기화 못해.. endl ;
return 0;
}
IUnknown *pUnk = NULL ;
hr = ::CoCreateInstance(clsid,NULL,CLSCTX_ALL,IID_IUnknown, (void **)&pUnk);
//인스턴스를 생성할 수 없습니다.원인이 무엇일까요?
if (hr != S_OK)
{
cout 인스턴스를 생성할 수 없습니다. endl ;
cout GetLastError() endl ;
if (hr == REGDB_E_CLASSNOTREG)
{
cout REGDB_E_CLASSNOTREG 지정한 CLSID로 등록된 클래스가 없습니다. REGDB_E_CLASSNOTREG endl ;
}
if (hr == CLASS_E_NOAGGREGATION)
{
cout CLASS_E_NOAGGREGATION CLASS_E_NOAGGREGATION endl ;
}
if (hr == E_NOINTERFACE )
{
cout E_NOINTERFACE E_NOINTERFACE endl ;
}
return 0;
}