我发现制作定制代理人的唯一2个指南并不是很清楚 (http://masterblood.ru/ch12c.shtml) (http://msdn.microsoft.com/en-us/library/ms682432(V = vs.85)的.aspx)
有人知道任何一个完整的例子吗?我认为这对我有帮助。
如果没有,我很困惑我是如何实现他们所说的我需要实现的接口(IMarshal,IUnknown和IClassFactory)我知道我需要自己编写像loaddllserver和freesurrogate这样的函数,但我真的需要写addref这样的函数也自己释放?通常当我创建一个com对象时,我使用ATL并使用所有这些宏来定义这些函数,但除非你用cocreateinstance创建com对象,它们似乎没有用,它们似乎都在使用new。另外,IMarshal的msdn页面说“只有当你认为你可以实现对COM默认实现的重大优化时才实现IMarshal。”我没有对编组进行任何优化,所以我想尽可能使用它们。我知道非msdn页面没有提到IMarshal,但MSDN说我需要使用它。
代理对象是普通的com对象,还是只是继承这些接口的常规对象?我需要一个idl文件吗?
我理解网站上的示例是做什么的,但我对首先如何定义类感到困惑。
你能给予的任何帮助都会很棒。
感谢。