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);
}

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

jhb92

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值