网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
基于Windows的 TAPI的调制解调器编程
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
n 分 配 的 资 源, 调 用lineShutDown(hTapi) 释 放 为 线 路 设 备 分 配 的 资 源  

三、 软 硬 件 环 境  

---- 下 图 示 意 出 了 我 们 的 应 用 程 序 所 处 的 位 置 以 及 涉 及 到 的 软 硬 件 环 境:  

---- 我 们 的 通 信 应 用 程 序 通 过TAPI 操 作Modem 拨 号、 应 答、 链 接、 挂 机 控 制 电 话 呼 叫, 在 编 制DOS 应 用 程 序 的 时 候, 我 们 经 常 使 用Hayes 兼 容 的AT 命 令 集 来 完 成 这 些 操 作, 由 于 各 调 制 解 调 器 厂 家 对 该 命 令 集 都 做 了 各 自 的 扩 展, 因 而, 我 们 的DOS 应 用 程 序 一 般 只 能 操 作 一 小 部 分 调 制 解 调 器, 而 各 厂 家 都 提 供Window  驱 动 程 序, 所 以, 使 用TAPI 编 制 的 应 用 程 序 能 够 操 作 绝 大 多 数 调 制 解 调 器; 图 中 的 通 信API 是 应 用 程 序 发 送、 接 收 数 据 的 编 程 接 口。  

四、 程 序 流 程 结 构 框 图  

---- 由 于Win95 为 多 任 务 操 作 系 统, 我 们 的 流 程 图 只 能 代 表 本 应 用 程 序 的 执 行 先 后 关 系, 程 序 中 的 等 待 及 检 测 实 际 上 是 等 待 Win95 提 供 的 消 息, 所 以 并 不 占 用CPU 时 间, 在 下 面 的 程 序 中 可 以 看 出。 另 外, 数 据 交 换 的 协 议 可 由 自 己 制 定, 也 可 使 用 已 有 的 协 议。  

五、 软 件 编 制  

---- 由 于Windows 编 程 的 框 架 基 本 相 同, 在 此 我 们 只 介 绍 涉 及 到 通 信 的 一 部 分 源 程 序:  

---- 1 头 文 件 中 应 该 包 括:  

---- #include < tapi.h >  

---- 请 注 意 工 程 文 件 的 属 性 应 该 是Windows 32 位 应 用 程 序  

---- 2 通 信 所 涉 及 到 的 一 些 全 局 变 量 定 义 及 类 型 定 义:  

char RecBuf[20],buf[20]// 缓 冲 区  

DWORD  Error; // 错 误 码  

COMSTAT  Status; // 状 态 码  

DWORD  NumLine; // 允 许 使 用 的 线 路 设 备 数  

LINECALLPARAMS  para;// 呼 叫 参 数  

TmyDecFrame * pwin=NULL;// 主 窗 口 指 针  

HLINEAPP  myhTapi;// 线 路 应 用 程 序 句 柄  

HLINE  myhLine;// 线 路 句 柄  

HANDLE  myhModem;// 调 制 解 调 器 句 柄  

HCALL  myhCall;// 呼 叫 句 柄  

typedef  struct tagModemID{  

  HANDLE hModem;  

     char ModemName;  

}ModemID;  

---- 3 下 面 为 获 取 调 制 解 调 器 句 柄 的 函 数 定 义  

---- 因 为 每 个 调 制 解 调 器 的 标 志 字 符 串 长 度 不 一, 所 以 函 数 中 用 到 了 可 变 长 度 的 字 符 串, 处 理 方 法 是 先 为 字 符 串 指 针 分 配sizeof(VARSTRING) 大 小 的 空 间, 再 利 用 该 空 间 容 纳 调 用LineGetID 时Windows 返 回 的 信 息, 根 据 返 回 信 息 判 断 所 需 空 间 大 小 重 新 分 配 空 间, 再 次 调 用LineGetID 就 可 以 取 得 完 整 的 标 志 字 符 串。  

void GethModem(HLINE hLine)  

{   ModemID far *mid;  

      VARSTRING * str;  

      LONG lid;  

     DWORD size;  

 &n
  • 上一篇资讯: VC++中实现程序互斥运行
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号