在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上试验过,这种方法应该是没有问题,你确定硬件是好的吗?