C#调用C动态DLL问题 - .NET技术 / C#
我的系统为2003,用C写的DLL类库,C#的窗体去调用,没有问题。
同样的项目,拿到XP系统下,调用就出现异常。
这是部分错误信息.
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。
************** 异常文本 **************
System.Runtime.InteropServices.COMException (0x8007007A): 传递给系统调用的数据区域太小。 (异常来自 HRESULT:0x8007007A)
dll中是否涉及到读写操作了? 缓冲区太小造成的异常。
可能是你的XP上缺少.net类库
换一台试一下
我用的是VS2008,那台XP机器同样是VS2008啊,类库不应该少吧?
恩,C里面的代码有和写的操作,
如果读写操作异常的话,为什么在2003下就好使呢?
我现在没头绪.....
操作系统可都是32位或都是64位的?
都是32位的..这个应该可以确定....
刚才试了下,
同样在其他系统为2003的机器上运行我的项目,
也同样出现异常,
我现在的疑问,可能会是传参数的问题。
C/C++ code:
typedef struct Student
{
char name[50];
unsigned int age;
unsigned int num;
}
__declspec(dllexport) __stdcall int TestImport(char* path, Student stu);
C# code:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct ULSI_KEY_INFO
{
[MarshalAs(UnmanagedType.B
相关问答:
我用XmlDocument生成XML
XmlElement remarkNode = node.OwnerDocument.CreateElement("remark");
remark1Node.InnerXml = "";
如果InnerXml赋值不为空,则生成的标记是没问题的,比如:<r ......
谁能帮我把下面这些代码改成VB形式的,多谢了,急用~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[],float g ......
挺繁琐,之前发的帖子,分值太低现在重发一个。欢迎各位大侠~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[] ......
使用ACCESS最大的隐患就是不安全。今天对ACCESS数据库设置了一个密码,必须使用密码才能打开,但是在程序中却无法连接数据库了。大家知道使用用户名和密码,如何连接ACCESS数据库?貌似ACCESS的用户名还不知道?只知 ......