Привет, что не так с моим кодом? Я пытаюсь зарегистрировать класс в реестре следующим образом, но во время отладки он показывает, что класс не зарегистрирован, и приложение вылетает.
Что не так в этом коде, пожалуйста, помогите мне.
Test::IDiscover *pICalc = NULL;
HRESULT hRes=CoCreateInstance(Test::CLSID_SqlClass, NULL,
CLSCTX_INPROC_SERVER,Test::IID_IDiscover, reinterpret_cast<void**> (&pICalc));
if(hres<0)
cout<<"register failure"<<endl;
else
cout<<"register success"<<endl; // and i am not free the memory any where...
И я тоже пробовал как:
IDiscoverPtr pt(__uuid(SqlClass));
HRESULT hRes=CoCreateInstance(Test::CLSID_SqlClass, NULL,
CLSCTX_INPROC_SERVER,Test::IID_IDiscover, reinterpret_cast<void**> (&pICalc));
if(hres<0)
cout<<"register failure"<<endl;
else
cout<<"register success"<<endl;
Если мне это нравится, когда я отлаживаю это на
IDiscoverPtr pt__uuid(SqlClass));
Отладка переходит к этой функции и показывает внутреннюю ошибку COM.