Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cocreateinsatnce返回系统找不到COM中指定的文件_Com - Fatal编程技术网

cocreateinsatnce返回系统找不到COM中指定的文件

cocreateinsatnce返回系统找不到COM中指定的文件,com,Com,在上述代码中,HR值为0X8007002(系统找不到指定的文件) 如何解决此问题。如果注册了传递到CoCreateInstance()中的类id的COM服务器,但由于任何原因找不到.dll文件或其依赖项,则会发生这种情况。您最好的选择是-它将让您看到丢失的文件。我创建了一个示例,上面显示了它的工作原理。。但是当我将它集成到COM DLL项目中时。它不起作用。。仅供参考。。如果我将上下文更改为CLSCTX_INPROC_SERVER为CLSCTX_ALL。cocreateinstance将返回“未

在上述代码中,HR值为0X8007002(系统找不到指定的文件)
如何解决此问题。

如果注册了传递到
CoCreateInstance()
中的类id的COM服务器,但由于任何原因找不到.dll文件或其依赖项,则会发生这种情况。您最好的选择是-它将让您看到丢失的文件。

我创建了一个示例,上面显示了它的工作原理。。但是当我将它集成到COM DLL项目中时。它不起作用。。仅供参考。。如果我将上下文更改为CLSCTX_INPROC_SERVER为CLSCTX_ALL。cocreateinstance将返回“未注册的类”。@Mahantesh:Process Monitor将比猜测更有帮助。
 CoInitialize(NULL);
GCalender::IGCalenderSync* pGCalender;
HRESULT hr = CoCreateInstance(__uuidof(GCalender::GCalenderSyncHelper),NULL, 
   CLSCTX_INPROC_SERVER,__uuidof(GCalender::IGCalenderSync),(void**)&pGCalender);

GCalender::GenericEvent HUGEP *pDeletedEvents;  
GCalender::GenericEvent HUGEP *pUpdatedEvents;  
GCalender::GenericEvent HUGEP *pNewEvents;  

SAFEARRAY* deletedEvents, *updatedEvents, *newEvents;
pGCalender->GetAllEvents(&deletedEvents, &updatedEvents, &newEvents);

hr = SafeArrayAccessData(newEvents, (void HUGEP* FAR*)&pNewEvents);
SafeArrayUnaccessData(newEvents);
hr = SafeArrayAccessData(deletedEvents, (void HUGEP* FAR*)&pDeletedEvents);
SafeArrayUnaccessData(deletedEvents);
hr = SafeArrayAccessData(updatedEvents, (void HUGEP* FAR*)&pUpdatedEvents);
SafeArrayUnaccessData(updatedEvents);
CoUninitialize();