MDL的ma在执行时,是如何找到其依赖的动态库的?

因为要用到别人的组件,所以用动态库做了一个组件的代理类,然后ma通过访问动态库来调用组件接口。现在出现了执行过程中,在调用组件接口时程序奔溃的情况,直接弹出黑框提示函数接口调用失败。

我现在出错的场景就是 ma调用COM组件的代理动态库,COM组件依赖的其他的动态库;
代理动态库和ma在同路径下,代理动态库通过引用COM组件的tlb调用接口;COM组件和其依赖项在同路径下;ma和COM组件不在同路径下;

分析得到的结果是:找组件代理动态库是先在ma所在路径查找,然后到system32下找;组件则是通过注册表找到;组件的依赖项似乎是在ustation.exe目录下找的,即使我把依赖项放到system32下,依然找不到。

请问MDL编程动态库的路径要如何规划?尤其是存在组件的情况,因为组件是随便放的,如果组件还有依赖的动态库,ustation.exe就找不到了。



已邀请:

要回复问题请先登录注册