什么时候才亟需用到代理/存根? 好像没有这个dll,com组件也可以被创建啊

什么时候才需要用到代理/存根? 好像没有这个dll,com组件也可以被创建啊?
如题,我建立一个atl的工程,接受所有的默认选项,于是建立了一个易于dll的com组件。我增加了一个atl简单对象叫做my。
ide为我生成了两个工程,一个是com组件本身,一个是PS工程(代理/存根)。我删掉了这个PS‘工程。

然后我建立一个命令行工程,在main.cpp里面#import我的atl工程生成的tlb,创建my的com对象,调用其函数,没问题,一切OK。

那我的问题来了----这里看起来我的调用过程没有依赖任何代理/存根这个工程生成的东西(因为我已经删除了这个工程)。

那么
(1) 这个PS工程的存在的意义到底是什么
(2) 什么情况下,我必须依赖代理/存根才能完成某些事情呢? 是跨机器的dcom还是什么? 

我感觉本机调用com dll的工程,好像根本就用不上所有的代理和存根。
------解决思路----------------------
引用:
Quote: 引用:

如果通过import,注册com组件方式,那么就可以不需要ps来调用

是的,我就是编译完了com组件以后有注册,然后在我的工程里面通过#import来调用。

你的意思是,可以不注册这个com组件? 在我的应用程序里面也不用import这个tlb? 只需要调用p/s这个dll,我就能和com组件通信了。是这样的吗?

谢谢。

我是说如果注册了,同时你程序又用的import方式,那么就不需要PS了
但是有很多情况,程序不会用import方式,那么就通过ps来做