我现在得到一个COM里面只有一个DLL文件和头文件.H,我就只有用下面的方法调用COM里面的方法,但却怎么也不行!代码大致如下:
#import"D:\OmniDriver\OOI_HOME\USB***.dll"  no_namespace
BOOL CMydlg::OnOpendevice() 
{
try
{
if (AfxOleInit())

AfxMessageBox("初始化COM成功!");



ICoUSB4000Ptr spFun;
HRESULT hr = spFun.CreateInstance( L"OmniDriver.CoUSB4000.1" );
    if(SUCCEEDED( hr ))
{   
HRESULT ret;
AfxMessageBox("创建COM实例成功");//(这里显示已经创建了COM)
        ret=spFun->CreateUSB();//(这里就不行了,所以报错了错误代码如题)
//  if (SUCCEEDED(ret))
//  {
//  ret=spFun->openSpectrometer(1);
// 
//  }
if (SUCCEEDED(ret))
{
AfxMessageBox("都执行了");
}
    
}

 
}
catch( _com_error &e ) {
      _bstr_t   bstrSource(e.Source());   
      _bstr_t   bstrDescription(e.Description());   
      CString   strErrInfo;   
      strErrInfo.Format(_T("\tCode   =   %08lx"),   e.Error());   
      strErrInfo   +=   "   Msg:   ";       
  strErrInfo   +=   e.ErrorMessage();   
      strErrInfo   +=   "   Source:   ";  
  strErrInfo   +=   bstrSource;   
      strErrInfo   +=   "   Description:   ";  
  strErrInfo   +=   bstrDescription;   
      TRACE(strErrInfo);  
  AfxMessageBox(strErrInfo); 
//输出错误信息   }return TRUE; }//哪个好心的大哥帮我看看啊