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

C#中怎么调用C语言编写的dll,该dll的函数接口中有一个函数指针类型的参数

2012-09-09 
C#中如何调用C语言编写的dll,该dll的函数接口中有一个函数指针类型的参数用c语言编写的一个dll(test.dll),

C#中如何调用C语言编写的dll,该dll的函数接口中有一个函数指针类型的参数
用c语言编写的一个dll(test.dll),其中有一个函数Speedtest如下: 

int Speedtest(GENERATE_KEYSTREAM GenerateKeystream,int nBitLen, double *result0,double *result1);
其中GENERATE_KEYSTREAM 是一个函数类型,其形式为
void GenerateKeystream(unsigned char *,int, unsigned char *, int )

在C#中静态调用
 [DllImport("test.dll")]
  public static extern int Speedtest(GENERATE_KEYSTREAM GenerateKeystream,int nBitLen, out double []result0,out double[] result1);


问题: 在C#中如何处理这个参数GENERATE_KEYSTREAM GenerateKeystream?

请高手指点。


[解决办法]
委托就是在这种情况下使用的

[解决办法]

C# code
public delegate void GenerateKeyStream(ref byte a,ref byte b);[DllImport("test.dll")] public static extern int Speedtest(GenerateKeyStream  GenerateKeystream,int nBitLen, out double []result0,out double[] result1); 

热点排行