PInvoke和IStream

| 我有一个用c ++编写的dll带有以下签名的导出函数:
Foo( LPSTREAM *pStream, UINT &Size ) 
返回内存流及其大小。我遇到的困难是为导出的函数创建签名,然后尝试在C#中读取流。曾经有人能够使用“不安全”字节指针来获取信息,但这不符合我们的要求。 任何想法,例子,样品等将不胜感激。     
已邀请:
        您可以这样操作:
[DLLImport(@\"mydll.dll\")]
public static extern void Foo(out ComTypes.IStream Stream, ref uint Size);
这样称呼它:
ComTypes.IStream Stream = null;
uint Size;
Foo(out Stream, ref Size);
通常,请确保您的调用约定匹配(C#默认为stdcall,C ++默认为cdecl)。 顺便说一句,既然return4ѭ知道了它的大小并会告诉您是否要这样做,为什么还要将the3ѭ从流中分离出来呢?     

要回复问题请先登录注册