RAS拨号SDK程序注意点

在定义HRASCONN hRasConn时必须将他初始化为NULL,不然就会有668错误
详细代码 
#include  < Windows.h >
#include 
< WindowsX.h >
#include 
" CmnHdr.h "
#include 
" resource.h "
#include 
< tchar.h >
#include 
< RASERROR.H >

#include 
" ras.h "
#pragma  comment(lib,"rasapi32.lib")



//
void  Dial(HWND hwnd ,TCHAR szEntryName[])
{
    HRASCONN hRasConn
=0;//这个没有初始化就会失败!!!!!!!

    RASDIALPARAMS RasDialParams;  
//用来指定电话本项目名
    RasDialParams.dwSize = sizeof(RASDIALPARAMS);
    _tcscpy(RasDialParams.szEntryName, szEntryName);
//连接名称 宽带连接 
    _tcscpy(RasDialParams.szPhoneNumber, _T(""));
    _tcscpy(RasDialParams.szCallbackNumber, _T(
""));
    _tcscpy(RasDialParams.szUserName, 
"jxk***");
    _tcscpy(RasDialParams.szPassword, 
"***");
    _tcscpy(RasDialParams.szDomain, _T(
""));

    DWORD dwRet
=0;
    dwRet
= RasDial(NULL, NULL, &RasDialParams, 0xFFFFFFFF,NULL, &hRasConn); //668
    if(dwRet !=0)
        chMB(
"Fail!");



}


//
void  Main_OnCommand(HWND hwnd,  int  id, HWND hwndCtl, UINT codeNotify) 
{
    
switch (id) 
    
{
    
case IDCANCEL:
        EndDialog(hwnd, id);
        
break;
    }

}

//

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) 
{
    DWORD dwRet,dwSize,dwEntries;
    LPBYTE lpBuffer;
    
    LPRASENTRYNAME lpRasEntryName 
= new RASENTRYNAME;
    lpRasEntryName
->dwSize = sizeof(RASENTRYNAME);
    dwSize 
= sizeof(RASENTRYNAME);
    dwRet 
= RasEnumEntries(NULL, NULL, lpRasEntryName, &dwSize, &dwEntries);
    delete lpRasEntryName;
    
    lpBuffer 
= new BYTE[dwSize];
    lpRasEntryName 
= (LPRASENTRYNAME)lpBuffer;
    lpRasEntryName
->dwSize = sizeof(RASENTRYNAME);
    dwRet 
= RasEnumEntries(NULL, NULL, lpRasEntryName, &dwSize, &dwEntries);
    
//比较连接名
    for(DWORD i =0;i<dwEntries;lpRasEntryName++,i++)
    
{
        
if(0==lstrcmp(lpRasEntryName->szEntryName,"宽带连接"))
            Dial(hwnd,lpRasEntryName
->szEntryName);
    }

    delete [] lpBuffer;
    
return(TRUE);
}


//

INT_PTR WINAPI Main_Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) 
{
    
switch (uMsg) 
    
{
        chHANDLE_DLGMSG(hDlg, WM_INITDIALOG, Main_OnInitDialog);
        chHANDLE_DLGMSG(hDlg, WM_COMMAND,    Main_OnCommand);
    }

    
return(FALSE);
}



//

int  WINAPI WinMain(HINSTANCE hinstExe, HINSTANCE, PTSTR pszCmdLine,  int
{    
    DialogBox(hinstExe, MAKEINTRESOURCE(IDD_DIAL), NULL, Main_Proc);
    
return(0);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值