Using Visual c++ 6.0, I have created an ATL based .EXE server . (VC6 as I am dealing with legacy code, a .exe server as I need to test operation in an out of process context, currently the .exe server is essentialy a no op)
我已经建立并注册了相应的代理书根DLL
我有一个客户应用程序
- CoCreateInstance of IUnknown which invokes FinalConstruct in server object and succeeds (so server is correctly invoked)
- OleRun of returned IUnknown interface succeeds
- QueryInterface on IUnknown pointer for my server object fails with error code of 0x8000402 (No such interface supported) for the IMarshall interface
这些步骤是从(comi.h:CreateInstance)复制的。
问题似乎在于代理stub dll 没有被引用( 它没有出现在 IDE 中的模块列表中, 也没有出现在调试窗口中的装入模块列表中) 。
https://skydrive.live.com/redir?resid=AE43106917EBD9E1!191 & amp;authkey=!AIOWES5P3o2mlpw" rel="nofollow" > OleCom 对象查看器用于我的课和接口 https://skydrive.live.com/redir?resid=AE43106917EB9E9E1!191&authkey=!AIOWES5P3o2mlpw
8891.ca4d 是我的对象的类界面 ID
A298..420c 是我的服务器对象(基于 IDispatch) 的接口 ID
任何援助的军备透明分析署