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);