【 tulaoshi.com - 编程语言 】
用拨号连接拨号的RasAPI函数为RasDial,其函数原型为:
function RasDial(pRasDialExtensions : LPRASDIALEXTENSIONS;//在WIN9X下无用,可
设置为NIL
lpszPhonebook : PChar;//电话本名称,在Win9X下无作用,可为空字符串
lpRasDialParams : LPRASDIALPARAMS;//拨号参数
dwNotifierType : DWord;//消息通知方式
handle : TRasDialFunc;//消息处理事件
var lphRasConn : DWORD//返回的成功连接的连接句柄
) : DWORD; stdcall;
function RasDial;external RasApiDll name 'RasDialA';
参数pRASDIALPARAMS的说明同RasGetEntryDialParams.
参数dwNotifierType表示消息通知方式.在拨号过程中,
系统发出拨号事件消息可以通知拨号
进度,因而需要提供接受消息的方式和处理消息的函数.当其
值为$FFFFFFFF时,则参数handle被
视为一个窗口的句柄,事件消息被发生该窗口处理;当其值为0
时,handle被视为TRasDialFunc类型
的函数的指针;当其值为1时,handle被视为TRasDialFunc1类
型的函数的指针.
参数handle表示消息处理函数指针,其类型可以THandle、
TRasDialFunc、TRasDialFunc1.当该
参数不为NULL或NIL时,其代表的消息处理函数指针将接受拨号
进度通知消息;为NIL时,拨号过程由
异步方式变为同步方式,直到拨号过程成功或失败后RasDial函
数才返回.具体可参见Delphi帮助文件
中关于RasDial函数的帮助。
当拨号连接成功时,lphRasConn将表示其连接句柄.
函数返回值为0表示执行成功;否则为错误代码.
下面是一个应用例子,按指定的拨号参数拨号.
var
RASDIALPARAMSData : RASDIALPARAMS;
dwResult : DWord;
RasCon : DWord;
begin
//指定拨号连接的拨号参数
with RASDIALPARAMSData do
begin
dwSize := sizeof( RASDIALPARAMS );//结构大小
szEntryName := '163';//指定拨号连接的名称
szUserName := 'MyName';//指定用户名称
szPassword := 'MyPassword';//指定用户密码
szDomain := 'MyDomain';//指定域名
szCallbackNumber := '';//指定回叫号码
szPhoneNumber := '';//指定拨号号码
end;
//用指定的拨号参数拨号,采用同步拨号方式
dwResult := RasDial( NIL,'',@RASDIALPARAMSData,0,NIL,RasCon
);
if dwResult 0 then //设置指定拨号连接的拨号参数失败
memo1.lines.add( '用'+StrPAS(RASDIALPARAMSData.szEntryName
)+'拨号失败:'
+ GetRasError( dwResult ))
else
memo1.lines.add( '用'+StrPAS(RASDIALPARAMSData.szEntryName
)+'拨号成功!' );
end;