首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#调用C++ DLL接口参数的有关问题(参数与指针相关)

2012-07-27 
C#调用C++ DLL接口参数的问题(参数与指针相关)C++写的dll中有一个接口函数是这么定义的[codeC/C++]//创建

C#调用C++ DLL接口参数的问题(参数与指针相关)
C++写的dll中有一个接口函数是这么定义的
[code=C/C++]
//创建一个实例
int   CreateInstance(INST*   instance);
//INST是如下定义的
typedef   struct
{
        void   *   instance;
}   *INST;
[/code]
请问我在C++中要用这个接口,该如何声明

[code=C#]
[DllImport( "w_vad_win32.dll ")]
public   static   extern   int   CreateInstance(???);
[/code]

我是C#新手,请各位大虾指教!

[解决办法]
IntPtr,
或者用unsafe关键字。


[解决办法]
IntPtr

http://msdn.microsoft.com/zh-cn/library/s69bkh17.aspx

http://msdn.microsoft.com/zh-cn/library/system.runtime.interopservices.marshal(v=VS.80).aspx

//申请内存
IntPtr hglobal = Marshal.AllocHGlobal(100);
//
CreateInstance()

//释放内存 
Marshal.FreeHGlobal(hglobal);

热点排行