c#调用C接口,程序直接退出

调用标准C动态库的接口时候,程序就直接退出了,不知道是声明不对呢?还是代码写的有问题,那位大神给我看下啊!在线等待!开发工具:Visual Studio 2010 上开发的
接口文档如下:
bool IF_GetDebitResult(IN OUT char* szParamContext,
IN OUT int& iParamSize,
IN const int& iFormatType)
参数1:szParamContext 返回数据内容,具体见附表4
该字符串指针由调用者申请,大小不得小于2048字节
参数2:iParamSize 返回数据大小
参数3:iFormatType 返回数据解析格式 默认为1
接口声明:
[DllImport(PAY_DRV_PATH)]
private extern static bool IF_GetDebitResult(ref char[] szParamContext, ref int iParamSize,ref int iFormatType);
调用接口:
private void button10_Click(object sender, EventArgs e)
{
char[] info = new char[20480];
int length = 20480;
int type = 1;
try
{
bool isInitOk = IF_GetDebitResult(ref info, ref length, ref type);
if (isInitOk)
{
MessageBox.Show(info.ToString());
}
else
{
MessageBox.Show("返回失败");
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}

我是在Visual Studio 2010 上开发的