用拨号连接拨号的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;
|