----遠程訪問服務(RAS)是WindowsNT操作系統(tǒng)提供的系統(tǒng)服務之一,通過電話線可以使單獨的計算機接入網(wǎng)絡,或通過兩個RAS對撥使兩個局域網(wǎng)互連。此項服務的功能可以使遠程的計算機端點以較低的費用同網(wǎng)絡連接。
----由于WindowsNT操作系統(tǒng)的大量使用,遠程訪問服務功能也被廣泛應用,在許多具體的應用程序中,均已通過遠程訪問服務來實現(xiàn)對遠程的資源共享等功能。連通遠程訪問服務,只要從遠程客戶機撥通撥號網(wǎng)絡就可以了,執(zhí)行掛斷就結束連接,鼠標操作Windows95中的撥號網(wǎng)絡可以直接撥通和掛斷。但有些時候我們希望在應用程序中RAS撥號和掛斷對用戶不可見,那么就需要相應的程序控制來實現(xiàn)RAS撥通和掛斷。
----Windows95提供了API函數(shù)RasDial,調用系統(tǒng)中建好的撥號網(wǎng)絡連接,完成RAS撥號,同時還提供了API函數(shù)RasHangUp斷開連接。RasDial的原形如下:
----DWORD RasDial(LPRASDIALEXTENSIONS IpRasDialExtensions,LPTSTR IpszPhonebook,LPRASDIALPARAMS IpRasDialParams,DWORD dwNotifierType,LPVOID IpvNotifier,LPHRASCONN IphRasConn)
----此函數(shù)的第3個參數(shù)為指向RASDIALPARAMS型結構體的指針,它提供了配置RAS撥號的參數(shù);第5個參數(shù)為撥號完成后執(zhí)行的回調函數(shù);第6個參數(shù)是LPHRASCONN型的指針,撥號連接建立好之后將返回此連接的句柄;其他3個參數(shù)為NULL即可。函數(shù)調用如果成功將返回零,否則返回錯誤代碼,此錯誤代碼的含義可以在頭文件Raserror.h中查到。
----RASDIALPARAMS型結構體包含7個數(shù)據(jù)成員:dwSize、szEntryName、szPhoneNumber、szCallbackNumber、szUserName、szPassword和szDomain,它們的作用如右表所示。
----要掛斷已撥通的連接使用RasHangUp函數(shù),需要的參數(shù)是此連接的連接句柄。下面介紹使用VC完成RAS撥號的一個例子,其中我們假設RAS端NT服務器連接的內部分機的電話號碼是"22",具體步驟如下:
----1.配置好調制解調器,然后在Windows95的撥號網(wǎng)絡中建立一個名為dial的連接。
----2.建立一個VisualC的應用框架,在Setting中為應用程序加入Rasapi32.lib靜態(tài)庫。
----3.新建一個對話框,在其上加兩個按鈕,一個用于撥通,一個用于掛斷。
----4.在鼠標點擊撥通按鈕的響應函數(shù)中加入以下代碼:
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]=‘‘;
strcpy(rdParams.szDomain,"dial");
hRasConn=NULL;
dwRet=RasDial(NULL,NULL,&rdParams,0L,(RASDIALFUNC)RasDialFunc,&hRasConn);
if(dwRet!=0)
{
//dealwitherror…
}
----
5.在此響應函數(shù)之前加入如下代碼:
VOID WINAPI RasDialFunc(UINT unMsg,RASCONNSTATE rasconnstate,DWORD dwError)
{
}
----6.在鼠標點擊掛斷按鈕的響應函數(shù)中加入如下代碼:
DWORD dwRet;
dwRet=RasHangUp(hRasConn);
----7.最后編譯執(zhí)行程序。
----RASDIALPARAMS型結構體數(shù)據(jù)成員表成員名類型功能
DwSize DWORD 結構體的大小
SzEntryName TCHAR數(shù)組 調用的撥號連接名稱
SzPhoneNumber TCHAR數(shù)組 撥打的電話號碼
SzCallbackNumer TCHAR數(shù)組 要求回撥的電話號碼
SzUserName TCHAR數(shù)組 向RAS登錄的用戶名
SzPassord TCHAR數(shù)組 向RAS登錄的口令
SzDomain TCHAR數(shù)組 向RAS登錄的域
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請
點擊舉報。