C#调用C Dll的问题

mjh1021 2010-04-14 05:14:11
在C#中调用C写的Dll,
函数原型为 void GetPic(char * szCode, BYTE * pPicture)

用C#建个窗口应用程序

[DllImport("PictureGenerator.dll", EntryPoint = "GetPic")]
static extern void GetPic(string szCode, byte[] pPicture);


private void Form1_Load(object sender, EventArgs e)
{

Byte[] pPic = new Byte[9000];
GetPic("test", pPic);
}

这样是可以调用的。

但是,同样的代码,放在WEB中就不行了。在运行到GetPic时就会出错。说是
NullReferenceException: 未将对象引用设置到对象的实例
这是为什么啊,窗口程序的与WEB有什么不同么。
...全文
74 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjh1021 2010-04-14
  • 打赏
  • 举报
回复
果然是权限问题,我在dll函数里有个写log到硬盘的语句,就在这出了问题。
mjh1021 2010-04-14
  • 打赏
  • 举报
回复
但我试过一个int SUM(int a ,int b)
就做个简单的加法的函数是可以用的,问题貌似出在参数上。
criedshy 2010-04-14
  • 打赏
  • 举报
回复


权限问题

asp.net用户没有那么高的权限可以执行win32
皇城龙三 2010-04-14
  • 打赏
  • 举报
回复
呵呵,真巧,我去年也遇到一模一样的问题

这个有可能是 webform在 asp.net 帐户下有权限限制

看看下面的例子,就可以解决:

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q306158
ztenv 2010-04-14
  • 打赏
  • 举报
回复
并不是所有的代码都可以在web下运行的。。。。。。
wangwei155 2010-04-14
  • 打赏
  • 举报
回复
同问,搞了大半天了

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧