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

📄 unit_dll.pas

📁 本目录内所有代码仅作指导用户编程之用,用户如果要作为 商业用途,建议使用正版软件进行编译. 开发环境说明: delphi demo : delphi 6.0 vc de
💻 PAS
字号:
unit Unit_dll;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, ToolWin, StdCtrls, ImgList, ExtCtrls, NMUDP,winsock;

const  MAX_RECEIVE_BUF=1024; //最大接收缓冲区
const  MAX_SEND_BUF=1024;   //最大发送缓冲区
const  gprs_dll='wcomm_dll.dll';
const  gprs_smm='gprs_smm.dll';
const  misc='misc.dll';

type
  // 用户注册信息结构
  gprs_user_info=record
	m_userid:array[1..12] of char;	//终端模块号码
	m_sin_addr:Cardinal;     	//终端模块进入Internet的代理主机IP地址
	m_sin_port:word;     	        //终端模块进入Internet的代理主机IP端口
	m_local_addr:Cardinal;   	//终端模块在移动网内IP地址
	m_local_port:word;   	        //终端模块在移动网内IP端口
	m_logon_date:array[1..20] of char; 	//终端模块登录时间
	m_update_time:array[1..20] of char; //终端模块更新信息时间
	m_status:byte;		        //终端模块状态, 1 在线 0 不在线
        //m_pid:array[1..12] of char;
     end;

type
  //用户数据结构
  data_record=record
	m_userid:array[1..12] of char;
	m_recv_date:array[1..20] of char;
	m_data_buf:array[1..MAX_RECEIVE_BUF] of char;
	m_data_len:word;
	m_data_type:byte;
     end;
type
  Arr12   = array[1..12]   of Char;
  Arr16   = array[1..16]   of Char;
  Arr256  = array[1..256]  of Char;
  Arr512  = array[1..512]  of Char;
  Arr1024 = array[1..1024] of Char;

  //下面定义的时函数类型,用于指向动态库中的函数
  function start_gprs_server(a:HWND;b:Cardinal;c:Integer;d:PChar):Integer;stdcall;
  function start_net_service(a:HWND;b:Cardinal;c:Integer;d:PChar):Integer;stdcall;
  function do_read_proc(var a:data_record;b:PChar;c:boolean):Integer;stdcall;
  procedure cancel_read_block();stdcall;
  function stop_gprs_server(a:PChar):Integer;stdcall;
  function stop_net_service(a:PChar):Integer;stdcall;
  function do_close_all_user(a:PChar):Integer;stdcall;
  function do_send_user_data(a:PChar;b:PChar;c:Cardinal;d:PChar):Integer;stdcall;
  function get_user_at(a:Cardinal;var b:gprs_user_info):Integer;stdcall;
  function get_max_user_amount:Cardinal;stdcall;
  function do_close_one_user(a:PChar;b:PChar):Integer;stdcall;
  function SetWorkMode(nWorkMode: integer): integer; stdcall;

  function KillProcess(a:PChar):Integer;stdcall;
  function DisConnectRas(a:PChar):Integer;stdcall;
  function GetConnEntryName(a:PChar):Integer;stdcall;

  //The Following function is SMM
  //int  SMMInit(char *,int,char *,DCB *,char *,char *,int);
  function SMMInit(var a:Arr16;b:Integer;var c:Arr16;var d:DCB;var e:Arr12;var f:Arr12;g:Integer):Integer;stdcall;
  function SMMFree:Integer;stdcall;
  function SMMSetting(var a:Arr12;b:Integer):Integer;stdcall;
  function MakeDTUOnLine(a:Integer;var b:Arr12):Integer;stdcall;
  function SendDataToDTUBySM(var a:Arr12;var b:Arr256;c:Integer;d:Integer):Integer;stdcall;

implementation
  //gprs_dll
  function start_gprs_server; external gprs_dll name 'start_gprs_server';
  function start_net_service; external gprs_dll name 'start_net_service';
  function do_read_proc; external gprs_dll name 'do_read_proc';
  procedure cancel_read_block; external gprs_dll name 'cancel_read_block';
  function stop_gprs_server; external gprs_dll name 'stop_gprs_server';
  function stop_net_service; external gprs_dll name 'stop_net_service';
  function do_close_all_user;external gprs_dll name 'do_close_all_user';
  function do_send_user_data;external gprs_dll name 'do_send_user_data';
  function get_user_at;external gprs_dll name 'get_user_at';
  function get_max_user_amount;external gprs_dll name 'get_max_user_amount';
  function do_close_one_user;external gprs_dll name 'do_close_one_user';
  function SetWorkMode;external gprs_dll name 'SetWorkMode';

  //gprs_smm
  function SMMInit;external gprs_smm name 'SMMInit';
  function SMMFree;external gprs_smm name 'SMMFree';
  function SMMSetting;external gprs_smm name 'SMMSetting';
  function MakeDTUOnLine;external gprs_smm name 'MakeDTUOnLine';
  function SendDataToDTUBySM;external gprs_smm name 'SendDataToDTUBySM';

  function KillProcess;external misc name 'KillProcess';
  function DisConnectRas;external misc name 'DisConnectRas';
  function GetConnEntryName;external misc name 'GetConnEntryName';

end.

⌨️ 快捷键说明

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