日期:2014-05-18  浏览次数:20920 次

怎么定义传入DLL的SAFEARRAY*参数
VC普通DLL中函数定义:
int WINAPI SetData(SAFEARRAY* ValueSet);//ValueSet为一维VT_BSTR数组

C#调用DLL中SetData函数时,怎么传入参数?

经验证有效的答案另外加分!

注:提到的DLL不是COM!!!

------解决方案--------------------
Marshal

------解决方案--------------------
private static extern int SetData(/*[In, Out]*/[MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_BSTR)] String[] ValueSet);

不需要ref