当前位置: 代码迷 >> WinCE >> WINCE下调用Rasdial进行GPRS拨号的有关问题,请高手指教
  详细解决方案

WINCE下调用Rasdial进行GPRS拨号的有关问题,请高手指教

热度:70   发布时间:2016-04-28 13:00:45.0
WINCE下调用Rasdial进行GPRS拨号的问题,请高手指教。
在wince下手动建立GPRS连接,并手动拨号,可以成功,并且可以顺利上网。用VS2005写了一个简单的拨号程序,调用Rasdial函数来拨号我事先建立的连接,但是不成功,返回值是633,Getlasterror得到的Error code是10047. 查文档看到633的定义,是ERROR_PORT_NOT_AVAILABLE。请问这是怎么回事?我手动点击拨号连接就可以成功,用rasdial拨号就不行吗?看坛子里很多都成功了啊。请高手指教。

我的拨号代码如下:
{
  RASDIALPARAMS RasDialParams;
  DWORD dwSize = 0;
  DWORD hRasRet = 0;
  // Set hRasConn to NULL before attempting to connect.
  HRASCONN hRscon=NULL;
  BOOL bState;

  // Initialize the structure.
  memset (&RasDialParams, 0, sizeof (RASDIALPARAMS));

  // Configure the RASDIALPARAMS structure.
  RasDialParams.dwSize = sizeof (RASDIALPARAMS);
  wcscpy (RasDialParams.szEntryName, szRasEntryName); 

  // Try to establish RAS connection.
hRasRet = RasDial (NULL, // Extension not supported
NULL, // Phone book is in registry
&RasDialParams, // RAS configuration for connection
0xFFFFFFFF, // Notifier type is a window handle
NULL, // Window receives notification message
&hRscon);

  printf("hRasRet == %d\r\n", hRasRet);

  if ( hRasRet != 0) // Connection handle
  {
  printf("Could not connect using RAS, error == %d\r\n", GetLastError());
  return FALSE;
  }

}

------解决方案--------------------
手动拨号真正做了什么?等于Rasdial函数调用吗?
------解决方案--------------------
我在WM上试验过,这种方法应该是没有问题,你确定硬件是好的吗?
  相关解决方案