通过ATL模板创建回调对象的实例 CComObjectCreateInstance(&pCOPCDataCallback); 报错,该怎么处理

通过ATL模板创建回调对象的实例 CComObject<COPCDataCallback>::CreateInstance(&pCOPCDataCallback); 报错
我想做个OPC的客户端,从客户端服务器启动正常,但是在创建CComObject<COPCDataCallback>::CreateInstance(&pCOPCDataCallback); 报错,经过调试进入了Atlcom库文件 typedef Base _BaseClass;
CComObject(void* = NULL) throw()
{
_pAtlModule->Lock();
}
请问有人知道这是什么原因吗

------解决方案--------------------
CreateInstance() 失败,返回的错误是什么? GetLastError
------解决方案--------------------
探讨
弹出错误提示框:Unhandled exception at 0x00415389 in OPCClient.exe: 0xC0000005: Access violation reading location 0x00000000.

------解决方案--------------------
在CreateInstance和CAtlDllModule::Init()各设置一个断点,然后看看谁先执行。