⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rasapi.pas

📁 宽带的连接和中断源码 很好很强大很好很强大
💻 PAS
字号:
unit rasapi;

interface

//implementation

uses WinTypes, WinProcs, Dialogs;

const
  UNLEN = 256;
  PWLEN = 256;
  DNLEN = 15;
  RAS_MaxEntryName = 256; //连接名称最大长度
  RAS_MaxDeviceName = 128; //设备名称最大长度
  RAS_MaxDeviceType = 16; //设备类型名称长度
  //RAS_MaxParamKey   = 32;
  //RAS_MaxParamValue   = 128;
  RAS_MaxPhoneNumber = 128; //电话号码的最大长度
  RAS_MaxCallbackNumber = RAS_MaxPhoneNumber;
  RDEOPT_IgnoreModemSpeaker = $00000004;

type
  HRASConn = DWORD;
  { 确认一活动的拨号连接. (为RasConnectEnum函数使用) }
  PRASConn = ^TRASConn; //拨号连接的句柄类型
  TRASConn = record
    dwSize: DWORD; //该结构类型所占内存的字节大小
    rasConn: HRASConn; //活动连接的句柄
    szEntryName: array[0..RAS_MaxEntryName] of Char; //
    szDeviceType: array[0..RAS_MaxDeviceType] of Char;
    szDeviceName: array[0..RAS_MaxDeviceName] of char;
  end;

  PRASConnStatus = ^TRASConnStatus;
  TRASConnStatus = record
    dwSize: LongInt;
    rasConnstate: Word;
    dwError: LongInt;
    szDeviceType: array[0..RAS_MaxDeviceType] of Char;
    szDeviceName: array[0..RAS_MaxDeviceName] of Char;
  end;

  PRASDIALEXTENSIon__S = ^TRASDIALEXTENSION__S;
  TRASDIALEXTENSIon__S = record
    dwSize: DWORD;
    dwfOptions: DWORD;
    hwndParent: HWnd;
    reserved: DWORD;
  end;

  PRASDialParams = ^TRASDialParams;
  TRASDialParams = record
    dwSize: DWORD;
    szEntryName: array[0..RAS_MaxEntryName] of Char;
    szPhoneNumber: array[0..RAS_MaxPhoneNumber] of Char;
    szCallbackNumber: array[0..RAS_MaxCallbackNumber] of Char;
    szUserName: array[0..UNLEN] of Char;
    szPassword: array[0..PWLEN] of Char;
    szDomain: array[0..DNLEN] of Char;
  end;

  PRASEntryName = ^TRASEntryName;
  TRASEntryName = record
    dwSize: LongInt;
    szEntryName: array[0..RAS_MaxEntryName] of Char;
    {Reserved: Byte;}
  end;

  //拨号函数

function RasDial(
  lpRasDialExtensions: PRASDIALEXTENSION__S; //在WIN9X下无用,可设置为NIL
  lpszPhonebook: PChar; //在WIN9X下无用,可设置为NIL
  lpRasDialParams: PRASDIALPARAMS; // 拨号参数,类型指针
  dwNotifierType: DWORD; { 消息通知方式}
  lpvNotifier: DWORD; { 消息处理事件}
  var rasConn: HRASConn { 返回成功连接的连接句柄}
  ): DWORD; stdcall;

function RasEnumConnections(RASConn: PrasConn;
  var BufSize: DWord;
  var Connections: DWord): LongInt; stdcall;

function RasEnumEntries(
  reserved: PChar; {保留字段,必须为空}
  lpszPhonebook: PChar; { 电话本名称,在WIN9X下无用,可设置为NIL}
  lprasentryname: PRASENTRYNAME; {接收拨号连接名称的缓冲区,是一类型数组的指针}
  var lpcb: DWORD; {接收拨号连接名称的缓冲区的大小}
  var lpcEntries: DWORD {实际获得拨号连接 的数目}
  ): DWORD; stdcall;

function RasGetConnectStatus(RASConn: hrasConn; { 指定活动连接的句柄 }
  RASConnStatus: PRASConnStatus { 获取活动连接状态信息的缓冲区}
  ): LongInt; stdcall;

function RasGetErrorString(ErrorCode: DWord; { 错误代码标识}
  szErrorString: PChar; { 错误提示信息的缓冲区}
  BufSize: DWord {错误提示信息的缓冲区的大小 }
  ): LongInt; stdcall;

function RasHangUp(RASConn: hrasConn): LongInt; stdcall;

function RasGetEntryDialParams(
  lpszPhonebook: PChar; {电话本名称,在WIN9X下无用,可设置为NIL }
  var lprasdialparams: TRASDIALPARAMS; {拨号参数,是一类型指针}
  var lpfPassword: BOOL {显示是否需要用户密码}
  ): DWORD; stdcall;

implementation

const
  RAS_DLL = 'RASAPI32';

function RasDial; external RAS_DLL name 'RasDialA';
function RasEnumConnections; external RAS_DLL name 'RasEnumConnectionsA';
function RasEnumEntries; external RAS_DLL name 'RasEnumEntriesA';
function RasGetConnectStatus; external RAS_DLL name 'RasGetConnectStatusA';
function RasGetErrorString; external RAS_DLL name 'RasGetErrorStringA';
function RasHangUp; external RAS_DLL name 'RasHangUpA';
function RasGetEntryDialParams; external RAS_DLL name 'RasGetEntryDialParamsA';
end.

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -