c#.net调用vc++dll文件,高手帮忙看一看哪里有错 30

dll文件原函数是:extern"C"_declspec(dllexport)voidEncrypt(UINTPublicKey,UINTmod,FILE*fipRe,F... dll文件原函数是:extern "C" _declspec(dllexport) void Encrypt(UINT PublicKey,UINT mod, FILE* fipRe, FILE* fipWr,char* extrName );

c#调用为:
[DllImport("encryption.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void Encrypt(uint PublicKey, uint mod, IntPtr fipRe, IntPtr fipWr, string extrName);

private void Encrypt_OK_Click(object sender, EventArgs e)
{
uint PublicKey = Convert.ToUInt32(Pu_K);
uint mod = Convert.ToUInt32(Mo);
IntPtr fipRe = Marshal.StringToHGlobalAnsi(Encrypt_label1.Text);
IntPtr fipWr = Marshal.StringToHGlobalAnsi(Encrypt_label2.Text);
string extrName=null;
Encrypt(PublicKey,mod,fipRe,fipWr,extrName);
}

运行报错:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”
求高手指教,不胜感激!
dll里有一句typedef unsigned int UINT;
展开
 我来答
egghead008
2011-05-04 · TA获得超过1164个赞
知道小有建树答主
回答量:1424
采纳率:100%
帮助的人:1395万
展开全部
这个你慢慢调试吧,得好好研究Pinvoke噢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式