C++ AT指令只能接收一次短信,后来都返回错误AT指令超时怎么回事?

1.我用的硬件是金迪短信猫;
2.用的C++版动态库,JindiSMSApi.dll;
3.写的NTService程序,while(1)循环接收短信,读取短信后删除;
4.代码如下:

// 获得SIM卡上短信数量
lpSmsApi_GetSimNum pfnGetSimNum = (lpSmsApi_GetSimNum *)FindFunction("SmsApi_GetSimNum");
if (pfnGetSimNum)
{
eReturn = pfnGetSimNum(&sUsed,&sTotal);
if (0== sTotal)
{
char cErrInfo[128] = {0};
lpSmsApi_GetErrInfo *GetErrInfo = (lpSmsApi_GetErrInfo
)FindFunction("SmsApi_GetErrInfo");
//eReturn = pfnGetSimNum(&sUsed,&sTotal);
eReturn = GetErrInfo(cErrInfo);
theApp.AddLog(_T("获得SIM卡上短信数量失败"));
return FALSE;
}
}
5,现象: 接收一次短信后,就在读取短信数量的时候会卡一会,然后查看错误
是AT指令超时,这是怎么回事呢?
6.我是用的NTService服务程序,没有窗口;demo的窗口程序可以多次接收!

如果只有NTService中有问题,那就要怀疑API是不是支持NTService不够好,只能在窗口程序中使用