一、打开GPRS网络数据连接

int platform_open_gprs_connect(void)

{

    if(WINCE_GPRS_NODE.hRasConn) {

        return 1;

    }

    {

        RASDIALPARAMS RasDialParams; //RAS结构包含用来建立RAS的参数

        DWORD dwRet;

        //下面开始初始化拨号参数

        memset ((char *)&RasDialParams, 0, sizeof(RasDialParams));

        RasDialParams.dwSize = sizeof(RASDIALPARAMS); //结构大小

        wcscpy(RasDialParams.szEntryName, GPSR_ENTRY_NAME); //拨号网络中建立的连接名

        wcscpy(RasDialParams.szPhoneNumber, CMCC_PHONE_NUMBER); //电话号码

        wcscpy(RasDialParams.szCallbackNumber, L""); //回拨号码,不用时置为NULL

        wcscpy(RasDialParams.szUserName, L""); //用户名

        wcscpy(RasDialParams.szPassword, L""); //用户口令

        wcscpy(RasDialParams.szDomain, L""); //用户权限验证域


        dwRet = RasDial(NULL,NULL,&RasDialParams,0xFFFFFFFF,NULL,&WINCE_GPRS_NODE.hRasConn);

        if(dwRet==ERROR_SUCCESS&&WINCE_GPRS_NODE.hRasConn) {

            //MessageBox(NULL,L"拨号成功!",NULL,MB_OK);

            return 1;

        }

    }

    return 0;

}


二、关闭GPRS网络数据连接

void platform_close_gprs_connect(void)

{

    RASCONNSTATUS status;

    DWORD result;

    status.dwSize = sizeof(RASCONNSTATUS);


    //关闭Ras拨号连接

    if(WINCE_GPRS_NODE.hRasConn) {

        result = RasHangUp(WINCE_GPRS_NODE.hRasConn);

        if (result == 0)

        {   

            //延时,判断连接是否关闭

            while (RasGetConnectStatus(WINCE_GPRS_NODE.hRasConn, &status) == 0 )

            {

                Sleep(10);

            }

            WINCE_GPRS_NODE.hRasConn = NULL;

        }

        //else {

        //    MessageBox(NULL,L"关闭失败,请重试!",NULL,MB_OK);

        //}

    }

}