C# 中Inptr 和char[]的转化有关问题

C# 中Inptr 和char[]的转化问题
C++函数的原型为DLL_EXPORT int SetDataCallBack(DataCallBack fData, int cameraId=0, void *pReserved=NULL, int len=0);
C++中的调用为:
char ppRe[6] = {'e','e','e','e','e'};
printf("sizeof(ppRe) =%d\n", sizeof(ppRe));
m_CameraIndex[id] = cameraId;
SetEventCallBack(CallbackEvent, cameraId, ppRe, sizeof(ppRe));

我在C#中的导出函数声明为:
public delegate bool EventCallBack(int index, int type, IntPtr pReserved);
[DllImport("CameraSdk.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern int SetEventCallBack(EventCallBack fEvent, int cameraId = 0, IntPtr pReserved = new IntPtr(), int len = 0);


调用为:
char[] ppRe = new char[6];
 for (int i = 0; i < 5;i++ )
{
      ppRe[i] = 'e';
}
 int pLen=ppRe.Length;
 nRet = SDKMfcDll.SetEventCallBack(eventCallback,handle,ppRe,pLen);
然后问题就来了:
错误    参数 3: 无法从“char[]”转换为“System.IntPtr”
求解。。。。
------解决思路----------------------
函数声明直接定义成stringbuilder或者string,不要用intptr