还是你原来那个问题吧,没有打完就被结贴了. :-).
你可以参考用下面的形式来定义你的结构.public sturct MyStruct{
public int usercode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=10)]
public char[] username; // 相当于C++中的char[10]
}
也可以用StringBuilder向里面传.如果不是上一个问题.
>>UNICODE字符串转化成ANSI
用System.Text.Encoding.Convert来转换.估计你自己看了帮助也能明白.
你可以参考用下面的形式来定义你的结构.public sturct MyStruct{
public int usercode;
[MarshalAs(UnmanagedType.ByValArray, SizeConst=10)]
public char[] username; // 相当于C++中的char[10]
}
也可以用StringBuilder向里面传.如果不是上一个问题.
>>UNICODE字符串转化成ANSI
用System.Text.Encoding.Convert来转换.估计你自己看了帮助也能明白.
但是,它需要传入的是这个结构的指针,这个出大麻烦了,因为结构里有STRING类型,所以,指针定义不了,出一个错误,说无法取得托管类型结构的地址。
怎么调一个有出参为指针的外部函式啊?这个指针的指向类型还是一个结构。
老大们,再支持一下我吧,快疯了