如何用RAS 設定數據機中的外加初始化命令呢? |
缺席
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
請參考來自對岸的資料 http://www.ccrun.com/doc/go.asp?id=126 標題:在應用程式中實現RAS撥號 作者: www.51bcb.com , AU:王濤 ----遠端存取服務(RAS)是WindowsNT作業系統提供的系統服務之一,通過電話線可以使單獨的電腦接入網路,或通過兩個RAS對撥使兩個局域網互連。此項服務的功能可以使遠端的電腦端點以較低的費用同網路連接。 ----由於WindowsNT作業系統的大量使用,遠端存取服務功能也被廣泛應用,在許多具體的應用程式中,均已通過遠端存取服務來實現對遠端的資源分享等功能。連通遠端存取服務,只要從遠端客戶機撥通撥號網路就可以了,執行挂斷就結束連接,滑鼠操作Windows95中的撥號網路可以直接撥通和挂斷。但有些時候我們希望在應用程式中RAS撥號和挂斷對用戶不可見,那麽就需要相應的程式控制來實現RAS撥通和挂斷。 ----Windows95提供了API函數RasDial,調用系統中建好的撥號網路連接,完成RAS撥號,同時還提供了API函數RasHangUp斷開連接。RasDial的原形如下: ----DWORD RasDial(LPRASDIALEXTENSIONS IpRasDialExtensions,LPTSTR IpszPhonebook,LPRASDIALPARAMS IpRasDialParams,DWORD dwNotifierType,LPVOID IpvNotifier,LPHRASCONN IphRasConn) ----此函數的第3個參數爲指向RASDIALPARAMS型結構體的指標,它提供了配置RAS撥號的參數;第5個參數爲撥號完成後執行的回調函數;第6個參數是LPHRASCONN型的指標,撥號連接建立好之後將返回此連接的控制碼;其他3個參數爲NULL即可。函數調用如果成功將返回零,否則返回錯誤代碼,此錯誤代碼的含義可以在頭文件Raserror.h中查到。 ----RASDIALPARAMS型結構體包含7個資料成員:dwSize、szEntryName、szPhoneNumber、szCallbackNumber、szUserName、szPassword和szDomain,它們的作用如右表所示。 ----要挂斷已撥通的連接使用RasHangUp函數,需要的參數是此連接的連接控制碼。下面介紹使用VC完成RAS撥號的一個例子,其中我們假設RAS端NT伺服器連接的內部分機的電話號碼是"22",具體步驟如下: ----1.配置好數據機,然後在Windows95的撥號網路中建立一個名為dial的連接。 ----2.建立一個VisualC的應用框架,在Setting中爲應用程式加入Rasapi32.lib靜態庫。 ----3.新建一個對話方塊,在其上加兩個按鈕,一個用於撥通,一個用於挂斷。 ----4.在滑鼠點擊撥通按鈕的回應函數中加入以下代碼: RASDIALPARAMS rdParams; DWORD dwRet; rdParams.dwSize=sizeof(RASDIALPARAMS); strcpy(rdParams.szEntryName,"dial"); strcpy(rdParams.szPhoneNumber,"22"); strcpy(rdParams.szCallbackNumber,"*"); strcpy(rdParams.szUserName,"dial"); rdParams.szPassword[0]='\0'; strcpy(rdParams.szDomain,"dial"); hRasConn=NULL; dwRet=RasDial(NULL,NULL,&rdParams,0L,(RASDIALFUNC)RasDialFunc,&hRasConn); if(dwRet!=0) { //dealwitherror… } ---- 5.在此回應函數之前加入如下代碼: VOID WINAPI RasDialFunc(UINT unMsg,RASCONNSTATE rasconnstate,DWORD dwError) { } ----6.在滑鼠點擊挂斷按鈕的回應函數中加入如下代碼: DWORD dwRet; dwRet=RasHangUp(hRasConn); ----7.最後編譯執行程式。 ----RASDIALPARAMS型結構體資料成員表成員名類型功能 DwSize DWORD 結構體的大小 SzEntryName TCHAR陣列 調用的撥號連接名稱 SzPhoneNumber TCHAR陣列 撥打的電話號碼 SzCallbackNumer TCHAR陣列 要求回撥的電話號碼 SzUserName TCHAR陣列 向RAS登錄的用戶名 SzPassord TCHAR陣列 向RAS登錄的口令 SzDomain TCHAR陣列 向RAS登錄的域Andy Chang
------
Andy Chang |
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
kadlac
一般會員 發表:18 回覆:30 積分:9 註冊:2004-07-23 發送簡訊給我 |
|
Egn
一般會員 發表:29 回覆:54 積分:16 註冊:2005-04-14 發送簡訊給我 |
RASDIALPARAMS rdParams;
DWORD dwRet;
rdParams.dwSize=sizeof(RASDIALPARAMS);
strcpy(rdParams.szEntryName,"dial");
//strcpy(rdParams.szPhoneNumber,"22");
//strcpy(rdParams.szCallbackNumber,"*");
//strcpy(rdParams.szUserName,"dial");
//rdParams.szPassword[0]='\0';
//strcpy(rdParams.szDomain,"dial");
hRasConn=NULL;
dwRet=RasDial(NULL,NULL,&rdParams,0L,(RASDIALFUNC)RasDialFunc,&hRasConn);
if(dwRet!=0)
{
//dealwitherror…
}
請問一下為什麼我這樣寫會失敗阿..那些username,password我已經在phonebook先設好了..沒有phonenumber,因為我是要連到一個ip...
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |