ADODB.Stream和System.IO.Stream之间是否存在跨COM/.NET边界进行互操作的可能性?

ADODB.Stream和System.IO.Stream之间是否存在跨COM/.NET边界进行互操作的可能性?,.net,com,interop,stream,adodb,.net,Com,Interop,Stream,Adodb,我在.NET程序集上有一个COM可调用包装器。有些方法使用流(System.IO.Stream):要么接受System.IO.Stream作为输入,要么返回System.IO.Stream 我想从COM环境中调用其中一个方法——经典ASP 是否有可能使用ADODB.Stream实现互操作?换句话说,我想在COM包装器上调用一个方法,然后取回ADODB.Stream的实例,而不是System.IO.Stream 这是自动发生的吗 如果没有,那么我是否可以构造.NET代码,使其符合要求?如果是,怎

我在.NET程序集上有一个COM可调用包装器。有些方法使用流(System.IO.Stream):要么接受System.IO.Stream作为输入,要么返回System.IO.Stream

我想从COM环境中调用其中一个方法——经典ASP

是否有可能使用ADODB.Stream实现互操作?换句话说,我想在COM包装器上调用一个方法,然后取回ADODB.Stream的实例,而不是System.IO.Stream

这是自动发生的吗


如果没有,那么我是否可以构造.NET代码,使其符合要求?如果是,怎么做?
我想象这样做:在房子的.NET端,调用ADODB.Stream上的CreateInstance,将其包装在现有的System.IO.Stream上,然后将ADODB.Stream的实例返回给COM调用方。这可能吗?它会工作吗?

它们是两个不同的对象。当然,它们有相同的接口,但不能将一个转换为另一个

如果要复制数据,可以编写代码,从一个流读取,然后使用其IStream接口器写入另一个流(读取到缓冲区,然后写入到另一个流,直到没有更多数据)。或者,您可以通过将调用转发到ADODB.Stream,从System.IO.Stream创建一个使用ADODB.Stream作为数据存储的类