4958|12

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

RAS自动拨号问题 [复制链接]

开始自动拨号后,弹出对话框让输入用户名和密码,点击OK关闭对话框确总是拨不上,用户名和密码在RASDIALPARAMS中已经写入了.

最新回复

// CERAS.h: interface for the CCERAS class. // ////////////////////////////////////////////////////////////////////// //******************************************************************** //文件标识:CERAS.h //******************************************************************** #if !defined(AFX_CERAS_H__40A8D118_57B5_4E9D_B924_3CC5F3B0FEE4__INCLUDED_) #define AFX_CERAS_H__40A8D118_57B5_4E9D_B924_3CC5F3B0FEE4__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include class CCERAS   { private:         HRASCONN m_hRasConn; //RAS拨号句柄 public:         CCERAS();         virtual ~CCERAS();             boolean CERasDial(LPCTSTR szEntry, LPCTSTR szPhoneNumber,                 LPCTSTR szCallbackNumber,LPCTSTR szUserName,                 LPCTSTR szPassword, LPCTSTR szDomain);         boolean CERasHangup();         boolean IsConnected();         int GetConnectedCount();         boolean CERasHangupAll();         }; #endif // !defined(AFX_CERAS_H__40A8D118_57B5_4E9D_B924_3CC5F3B0FEE4__INCLUDED_)   详情 回复 发表于 2008-12-11 10:54
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如果不是自动拨号,可以拨上去吗?
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
手动拨号可以拨上
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
自动拨号上不去,像是驱动问题噢:)
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
能说的更详细些吗?谢谢
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
RasGetEntryProperties
RasSetEntryProperties
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
RasGetEntryProperties
RasSetEntryProperties
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
自动手动走的应该是一个程序吧?不应该啊。
要是有差别,楼主说说看吧。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 zzhll 的回复:
自动手动走的应该是一个程序吧?不应该啊。
要是有差别,楼主说说看吧。


我也这样认为,手动可以上去,自动应该也可以的。
估计是LZ程序的问题
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

10
 
没接触过,关注一下
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
我发现问题在那了,"安全设置"选项只能选"PAP" ,不知道为什么了,以前都是默认项就可以拨上号.
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

12
 
// CERAS.cpp: implementation of the CCERAS class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CERAS.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCERAS::CCERAS()
{

}

CCERAS::~CCERAS()
{

}


/*
*函数介绍:用于建立拨号连接
*入口参数:szEntry : 拨号连接名;
szPhoneNumber : 拨号的号码;
szCallbackNumber : 回叫号码;
szUserName : 拨号用户名;
szPassword : 拨号密码;
szDomain : 域;
*出口参数:(无)
*返 回 值:TRUE : 成功拨号,建立拨号连接 , FALSE : 拨号失败
*/
boolean CCERAS::CERasDial(LPCTSTR szEntry, LPCTSTR szPhoneNumber,
                                                  LPCTSTR szCallbackNumber,LPCTSTR szUserName, LPCTSTR szPassword, LPCTSTR szDomain)
{
    RASDIALPARAMS rdParams;
        m_hRasConn = NULL;
        //初始化变量
        rdParams.dwSize = sizeof(RASDIALPARAMS);
        wcscpy(rdParams.szEntryName,szEntry);
        wcscpy(rdParams.szPhoneNumber,szPhoneNumber);
        wcscpy(rdParams.szCallbackNumber,szCallbackNumber);
        wcscpy(rdParams.szUserName,szUserName);
        wcscpy(rdParams.szPassword,szPassword);
        wcscpy(rdParams.szDomain,szDomain);
       
        //以下是同步拨号模式
        DWORD dwRet;
       
        dwRet = RasDial(NULL,NULL,&rdParams,0,NULL,&m_hRasConn);
        if ( dwRet != 0 )
        {
                CString str;
                str.Format(_T("%d"),dwRet);
                AfxMessageBox(str);
                RasHangUp(m_hRasConn);
                return FALSE;
        }
       
        return TRUE;
       
}

/*
*函数介绍:挂断由本类建立的连接
*入口参数:(无)
*出口参数:(无)
*返 回 值:TRUE : 成功挂断,FALSE : 挂断失败
*/
boolean CCERAS::CERasHangup()
{
        RASCONNSTATUS status;
        status.dwSize = sizeof(RASCONNSTATUS);
       
        //关闭Ras拨号连接
        DWORD result = RasHangUp(m_hRasConn);
        if (result == 0)
        {   
                //延时,判断连接是否关闭
                while (RasGetConnectStatus(m_hRasConn, &status) == 0 )
                {
                        Sleep(10);
                }
                m_hRasConn = NULL;
                return TRUE;
        }
        else
        {
                return FALSE;
        }
       
}

/*
*函数介绍:挂断所有已建立的拨号连接
*入口参数:(无)
*出口参数:(无)
*返 回 值:TRUE : 成功挂断所有已建立的拨号连接,FALSE : 挂断所有建立的拨号连接失败
*/
boolean CCERAS::CERasHangupAll()
{
       
        RASCONN entries[25];
        DWORD bufsize;
        DWORD numEntries;
        bufsize = 25*sizeof(RASCONN);
        entries[0].dwSize = sizeof(RASCONN);
       
        RASCONNSTATUS status;
        status.dwSize = sizeof(RASCONNSTATUS);
       
        if (RasEnumConnections(&entries[0],&bufsize, &numEntries) == 0 )
        {
        for(DWORD i=0;i                 {
                        if (RasHangUp(entries.hrasconn) == 0)
                        {
                                while (RasGetConnectStatus(entries.hrasconn, &status) == 0 )
                                {
                                        Sleep(0);
                                }
                        }
                }
                 
        }   
        return TRUE;
}


/*
*函数介绍:得到由本类建立的连接是否还存在连接
*入口参数:(无)
*出口参数:(无)
*返 回 值:TRUE : 代表连接存在,FALSE : 代表连接不存在
*/
boolean CCERAS::IsConnected()
{
       
        RASCONNSTATUS status;
        status.dwSize = sizeof(RASCONNSTATUS);
       
        if (!RasGetConnectStatus(m_hRasConn, &status))
        {
                if (status.rasconnstate == RASCS_Connected)
                {
                        return TRUE;
                }
                else
                {
                        m_hRasConn = NULL;
                        return FALSE;
                }
        }
        else
        {
                return FALSE;
        }
}

/*
*函数介绍:得到系统建立拨号连接的个数
*入口参数:(无)
*出口参数:(无)
*返 回 值:返回系统存在拨号连接的个数
*/
int CCERAS::GetConnectedCount()
{
        DWORD dwSize = sizeof(RASCONN) * 20, dwCount = 20;
        HRASCONN hConnection = NULL;
        RASCONN  connections[20];
        connections[0].dwSize = sizeof(RASCONN);
        if (!RasEnumConnections(connections, &dwSize, &dwCount))
        {
                return dwCount;
        }
        else
        {
                return 0;
        }
       
}



 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

13
 
// CERAS.h: interface for the CCERAS class.
//
//////////////////////////////////////////////////////////////////////
//********************************************************************
//文件标识:CERAS.h
//********************************************************************
#if !defined(AFX_CERAS_H__40A8D118_57B5_4E9D_B924_3CC5F3B0FEE4__INCLUDED_)
#define AFX_CERAS_H__40A8D118_57B5_4E9D_B924_3CC5F3B0FEE4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include

class CCERAS  
{
private:
        HRASCONN m_hRasConn; //RAS拨号句柄
public:
        CCERAS();
        virtual ~CCERAS();
       
    boolean CERasDial(LPCTSTR szEntry, LPCTSTR szPhoneNumber,
                LPCTSTR szCallbackNumber,LPCTSTR szUserName,
                LPCTSTR szPassword, LPCTSTR szDomain);
        boolean CERasHangup();
        boolean IsConnected();
        int GetConnectedCount();
        boolean CERasHangupAll();
       
};

#endif // !defined(AFX_CERAS_H__40A8D118_57B5_4E9D_B924_3CC5F3B0FEE4__INCLUDED_)
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表