VC++ 6.0 无法调用VB编写的ActiveX Dll解决方法

VC++ 6.0 无法调用VB编写的ActiveX Dll
CoInitialize(NULL);
_Class_DGPHPtr ptr;

CLSID df;
df = __uuidof(_Class_DGPH);
ptr.CreateInstance(df);
ptr->DHash(&change4,&va1,&va2,&va3);
  CoUninitialize();

这段代码用来读取一个VB ActiveX写的Dll。但是ptr的值一直为NULL,try后 catch到的错误是E_POINTER

------解决方案--------------------
UP!