当前位置:编程学习 > C#/ASP.NET >>

c#调用activex控件参数传递问题

我有一个c++写的activex控件(myactivex.dll),接口Func1(BYTE* pData);
c#程序加载activex控件后,接口被转换为Func1(ref byte pData);

c#调用代码:
byte [] btStr = (new ASCIIEncoding()).GetBytes("abcd");xx.Func1(ref btStr[0]);

在x86系统上,参数可以正常传递,但在x64上,却只能传递一个字节过去。

问题:
1.c#是如何转换参数的,其原理是什么?
2.在不改动activex控件的前提下,该怎么解决此问题?

请各位大神不吝赐教,多谢。 c# activex 参数传递 --------------------编程问答-------------------- 如果x86正常,那么最简单的就是限制.NET的程序集运行在32bit下。 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
如果x86正常,那么最简单的就是限制.NET的程序集运行在32bit下。


感谢caozhy的回复。
我对c#不熟悉,activex控件有x86和x64的,这个c#程序只是个演示示例。所以我想弄明白x64下该怎么弄。 --------------------编程问答-------------------- 64bit系统上指针是64bit的。你不能改activex,只能这样了。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,