如何为COM编组流

时间:2011-10-21 13:00:12

标签: c# .net delphi com

我正在使用Delphi编写的需要Stream的COM对象。

VS生成的接口请求“object”类型的参数

comReader.LoadFromStream(object stream)

当我使用FileStream或MemoryStream时,我得到一个“无效的参数”-exception。

如何为COM圆满填充流?

2 个答案:

答案 0 :(得分:2)

我认为您应该为.Net Stream创建实现COM IStream接口

的包装器

article(部分实施)

答案 1 :(得分:1)

修改我找到了这个有趣的答案: How do I declare an IStream in idl so visual studio maps it to s.w.interop.comtypes?

基本上你要做的是实现System.Runtime.InteropServices.ComTypes.IStream或使用现有的实现类。

如果所有其他方法都失败您应该能够使用UnmanagedMemoryStream封送任意数据。 (MSDN page