![]() |
1
1
所以您需要一个IDL数据类型,在32位机器上是32位,在64位机器上是64位。但您不希望封送处理代码像指针一样对待它,就像int一样。那么,当您从64位进程调用32位进程时,您希望额外的32位发生什么呢? 对我来说,听起来像是违反物理学。 如果它只是Inproc,请参阅下面的讨论: http://www.techtalkz.com/vc-net/125190-how-interop-net-client-com-dll.html . 建议似乎是使用void*而不是intptr,并用[local]标记,这样马歇尔就不会参与其中。 |
![]() |
2
0
我对C COM的可操作性知之甚少,但您是否尝试过使用safearray(int u ptr)或类似的工具? |
![]() |
3
0
六羟甲基三聚氰胺六甲醚。。。我发现了一些能让我更接近的信息… Marshaling Changes - Conformant C-Style Arrays 这个IDL声明(C++)
导入为(msil)
如果更改为(msil)
可用作(c)
正是我想要的! 但是,是否有其他解决方案不需要修复由tlbimport生成的运行时可调用包装器的msil? |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |