我在VC++中写了一个类,建了一个DDL,在VC中能调用,C#中也能用,但传进去的一个结构体改变不了两个接口如下:
C++
extern "C" LONG __declspec(dllexport) LoadConfig(TCHAR pPath [] , Cfginfo *Cfg )
c#如下:
public IniFile
{
[DllImport("ConfigDLL.dll",EntryPoint="LoadConfig")])]
public static extern Int32 LoadConfig(string pPath, Cfginfo info);
}
我是这样做的
Cfginfo cfg = new cfg();
IniFile.LoadConfig("asdfadsf",cfg);
cfg 的值怎样也改不了用了 ref 还是不行
C++
extern "C" LONG __declspec(dllexport) LoadConfig(TCHAR pPath [] , Cfginfo *Cfg )
c#如下:
public IniFile
{
[DllImport("ConfigDLL.dll",EntryPoint="LoadConfig")])]
public static extern Int32 LoadConfig(string pPath, Cfginfo info);
}
我是这样做的
Cfginfo cfg = new cfg();
IniFile.LoadConfig("asdfadsf",cfg);
cfg 的值怎样也改不了用了 ref 还是不行
解决方案 »
- C# 操作ACCESS的几个问题,求解ing
- 关于c# winform ToolStripPanel中多个ToolStrip排序问题。
- 如何做一个倒计时器?
- ListView Selection事件的问题
- 用ASP.NET如何获取一个网站的快照
- POP3信件分析问题
- 帮忙解决一下几个概念。感谢。
- 求字符串相关的算法
- 异常:未将对象引用设置到对象的实例
- 【调查】做DOTNET的项目开发时,在使用windows操作系统的文件系统的时候,特别不爽,有同感的进来领分
- 反射问题:如何区分调用方是“属性”还是“方法”?
- vb 2005 里面 数组型变量 作为Function返回值,请问Function如何定义?返回值怎么写?(内详)
[MarshalAs(UnmanagedType.LPStruct )]Cfginfo 如果是out参数,可以如下
[Out,MarshalAs(UnmanagedType.LPStruct )]Cfginfo