紧急求救,VC中CDMA猫收不到返回信息的问题?超级终端能收到!
BOOL CMdmPowerCtrl::PowerOn(BSTR *bstrMsg)
{
CString strResult;
LPTSTR lpszResult = strResult.GetBuffer(512);
BOOL bRet = FALSE;
if( m_pSms != NULL )
{
TRACE("dddddddd");
//m_pSms->SendSM("AT+WSCL=1,2",m_lpszPhone);
m_pSms->SendSM("KKKKK",m_lpszPhone);
Sleep(30000);
int nMaxTry = 1;
// wait for resp
int nTry = 0;
// wait for resp
while( nTry < nMaxTry )
{
bRet = m_pSms->RecvSM(lpszResult,NULL);
if( strlen(lpszResult) > 0 )
break;
nTry ++;
TRACE("\nNo received\n");
}
//经过以上的操作还是收不到远程CDMA的Modem发回来的信息。
// check response
if( strlen(lpszResult) == 0 )
{
*bstrMsg = SysAllocString(L"没有接收到返回数据,无法判别");
bRet = FALSE;
}else if( strstr(lpszResult,"K0001E") )
{
*bstrMsg = SysAllocString(L"成功打开电源");
}else if( strstr(lpszResult,"K0002E") )
{
*bstrMsg = SysAllocString(L"手动打开状态");
bRet = FALSE;
}else if( strstr(lpszResult,"K0003E") )
{
*bstrMsg = SysAllocString(L"已经打开电源");
bRet = FALSE;
}else
{
CString str;
str.Format("未知错误:%s",lpszResult);
*bstrMsg = str.AllocSysString();
bRet = FALSE;
}
}
strResult.ReleaseBuffer();
return bRet;
}