C#调用C++的一个方法,但参数是IStreamPtr,那我应该传递什么过去呢?是C#中对应的Stream对象吗?
代码大致如下:
方法:
HRESULT SetLayer( [in] IUnknown* pIStream)因为是com组件,所以提示是输入object类型,但是我传入stream对象或是stream.ToArray()都不对。谢谢。

解决方案 »

  1.   

    namespace System.Runtime.InteropServices.ComTypes
    {
      // Summary:
      //     Provides the managed definition of the IStream interface, with ISequentialStream
      //     functionality.
      [Guid("0000000c-0000-0000-C000-000000000046")]
      [InterfaceType(1)]
      public interface IStream类型, 微软已经给你声明好了,关键就是你如何得到对应的  com 对象, 转换为这个接口类型, 传递进去就行了.
      

  2.   

    kangde 
    我现在的遇到类似的问题
    HRESULT SetLayer( [out] IUnknown* pIStream ) 也不知道咋处理,能说的更详细些吗,看不明白