C++ RasDial之调用RasEnumEntries遍历系统中存在的宽带连接名称
代码执行效果如下图:
代码如下:
#include <windows.h>
#include <iostream>
#include "ras.h"
#include "raserror.h"
#pragma comment(lib, "rasapi32.lib")using namespace std;DWORD wmain(){ DWORD dwCb = 0;DWORD dwRet = ERROR_SUCCESS;DWORD dwEntries = 0;LPRASENTRYNAME lpRasEntryName = NULL;// Call RasEnumEntries with lpRasEntryName = NULL. dwCb is returned with the required buffer size and// a return code of ERROR_BUFFER_TOO_SMALL// 用lpRasEntryName = NULL 来调用 RasEnumEntries, 其中dwCb是一个传出值, 用来返回成功调用所需的缓冲区的字节数.dwRet = RasEnumEntries(NULL, NULL, lpRasEntryName, &dwCb, &dwEntries); // 函数成功返回0if (dwRet == ERROR_BUFFER_TOO_SMALL){ // Allocate the memory needed for the array of RAS entry names.// 分配遍历条目所需要的字节输 lpRasEntryName = (LPRASENTRYNAME) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwCb); // 如果lpRasEntryName指针为NULL, 则说明分配内存失败 if (lpRasEntryName == NULL){// cout << "HeapAlloc failed!" << endl;cout << "分配内存失败! " << endl;return 0;} // The first RASENTRYNAME structure in the array must contain the structure size// 数组中第一个 RASENRTYNAME 结构必须包含结构体的大小 lpRasEntryName[0].dwSize = sizeof(RASENTRYNAME); // Call RasEnumEntries to enumerate all RAS entry names// 调用 RasEnumEntries 枚举所有的连接名称 dwRet = RasEnumEntries(NULL, NULL, lpRasEntryName, &dwCb, &dwEntries);// If successful, print the RAS entry names// 如果调用成功, 打印出每个连接的名称 if (ERROR_SUCCESS == dwRet){// cout << "The following RAS entry names were found:" << endl;cout << "遍历出的连接的名称:" << endl;for (DWORD i = 0; i < dwEntries; i++){cout << i << " " << lpRasEntryName[i].szEntryName << endl;}} // Deallocate memory for the connection buffer// 释放用于存放连接名称的内存HeapFree(GetProcessHeap(), 0, lpRasEntryName); // 赋值空指针lpRasEntryName = NULL;}else { // There was either a problem with RAS or there are RAS entry names to enumerate// 枚举连接名称出现的问题 if(dwEntries >= 1){ // cout << "The operation failed to acquire the buffer size." << endl;cout << "以上操作未能获取缓冲区的大小. " << endl;}else{ // cout << "There were no RAS entry names found:." << endl;cout << "系统中没有RAS连接. " << endl;}}cin.get ();return 0;
}
其中注释中文为注释英文的译文,自己翻译的。
本代码在Win7 + Vc6.0 中编译调试通过!
C++ RasDial之调用RasEnumEntries遍历系统中存在的宽带连接名称相关推荐
- xp系统怎么创建新宽带连接服务器地址,xp系统怎么创建宽带连接
xp系统怎么创建宽带连接 导读:有一种比较简单的,无路由器的网络连接方法,叫宽带连接.相信很多朋友都会做,所以,会做的朋友就不用看了;使用路由器的朋友也不用看了.因为确实有部分朋友还不会,具体表现在某 ...
- xp系统创建不了宽带连接服务器,如何修复windowsXP系统不能建立宽带拨号连接故障?...
windowsXP系统用户发现新建连接向导中Internet连接:1.用拨号调制解调器连接,2.用要求用户名和密码的宽带连接来连接都呈灰色,以至不能建立宽带拨号连接. 下面根据笔者的方法来修复不能建立 ...
- PageOffice中如何调用ZoomSeal签章系统中的印章
首先,安装部署好卓正ZoomSeal电子签章系统,具体的安装部署方法请参考ZoomSeal电子签章系统的安装说明文档,此处不再赘述: 其次,在PageOffice的服务器端,通过设置"Zoo ...
- 遍历系统中所有的进程,可根据名字或ID查找某一个线程
我们这根据名字查找进程,获取其ID 1 /*@brief 获取找到的与指定进程名相符的第一个进程ID 2 * @param [in] cpszExeFileName 进程可执行文件名(不带路径) 3 ...
- HarmonyOS系统中内核实现MQTT连接华为云的方法
大家好,今天主要和大家聊一聊,如何使用MQTT连接华为云平台的方法 目录 第一:MQTT通信基本原理 第二:华为IOT平台API 第三:华为IOT平台初始化 第四:设置命令响应函数 第五:数据上传 设 ...
- 电脑连接wifi怎么显示宽带连接服务器,电脑中只显示宽带连接不显示wifi是怎么回事...
有时无线笔记本不显示怎么办呢,下面小编就为大家介绍笔记本电脑不显示无线网络的解决方法,不会的朋友快快来学习吧! 提示: 请确认 已经安装 无线网卡驱动 并更新到较高版本 另外可能需要打开笔记本的 无线 ...
- 在xp系统电脑上建立宽带连接服务器吗,windows 7与windows xp创建宽带连接的方法-电脑教程...
笔者这两天电脑网络总是会出现断断续续的掉线情况,由于是和同学公用一根网线,大家都会出现这样的问题,于是开始寻求解决办法,首先同学建议直接使用宽带拨号连接看看是不是路由器故障,笔者觉得这到是个好方法,但 ...
- xp系统总是弹出宽带连接服务器,如何处理xp电脑总是弹出宽带连接
最近有用户发现在电脑中总是会频繁弹出一个进行宽带连接的窗口,点击连接,却又连接不上,那么如何处理xp电脑总是弹出宽带连接呢?下面学习啦小编就为大家带来了处理xp电脑总是弹出宽带连接的方法. 处理xp电 ...
- 在xp系统电脑上建立宽带连接服务器吗,windows xp系统如何在电脑桌面上创建ADSL连接...
ADSL它是宽带连接的一种类型,对于xp系统用户来说,我们日常在打开电脑进行网络连接的时候,都经常要接触到ADSL,如果桌面上没有相应的快捷方式,此时就需要我们创建ADSL连接了,那么xp系统如何在电 ...
最新文章
- OpenCV(项目)车牌识别2 -- 车牌字符分割(直方图)
- 儿童吹泡泡水简单配方_儿童吹泡泡水简单配方[组图]
- DVWA Cross Site Request Forgery (CSRF) -------WP
- unity collider rigidbody zz
- Oracle NetSuite:异军突起的云原生ERP
- Python代码转换为exe可执行程序详解
- @SuppressWarnings(resource)
- 【C++】图书管理系统(含全部源代码)
- QT设置画笔/画刷颜色
- WebRAY权小文:产品就是工程师的尊严
- 数字图像处理【经典女郎 Lena 图片】的使用由来~(学习之余来一个调味剂啦)
- 白话区块链 之4: 区块链分类与架构
- 金融投资理财基础知识
- 光纤连接器的连接方法
- 学会拒绝摔倒“哭泣”,拒绝接受“溺爱”
- cross-entropy for one-stage detecor
- 算法训练 旅行家的预算
- Esp8266 进阶之路20 【高级篇】深入学习esp8266的esp now模式组网,仿机智云做一个小网关,实现无需网络下轻松彼此连接通讯交互数据。(附带Demo)
- Flink跟着问题读源码 - SlidingEventTimeWindows接reduce结果数据倍增
- 硬汉DSP TMS320F28335开发板全套资料
热门文章
- 有没有想过,你为何要设计字体?
- Qt股票软件企业级源码
- 高校数据可视化(智慧校园)
- 主机安全防护五大难点攻克
- 计算机辅助教育的全称,【单选题】在计算机的应用领域, CAI的中文全称是A. 计算机辅助制造 B. 计算机辅助设计 C. 计算机辅助教育 D. 计算机辅助教学...
- java计算机毕业设计web唐院寻人表白系统(附源码、数据库)
- Android内存清理
- 投资经理,软件与互联网产品经理一个新去向?
- 关于 《IT 专业应该怎么学》
- 2014年武汉的IT行情好像不太好