在 RasDial 之后获取 IP 地址/接口号码
Getting IP address/interface number after a RasDial
在与.NET C++中,我正在尝试获取刚刚与RasDial连接的RASCONN的IP地址或接口名称(我有HRASCONN指针)。我发现MSDN API令人困惑,经过数小时的搜索,我找不到正确的调用(但似乎它们必须存在)。
如果有更好的方法可以做到这一点,这里的目标是有一些唯一的标识符,以便当我以后在我的管理 C# 中调用 NetworkInterface.GetAllNetworkInterfaces() 时,我可以挑选出正确的连接。
您需要查看 RasGetProjectionInfo 函数并使用之前检索到的 HRASCONN 指针。RASP_PppIp应该是传入的rasprojection value,以获取包含您的IP地址的RASPPPIP结构。我会发布一些C++代码供您使用,但这不是我最好的语言,不想让自己难堪。
以下是一些有用的链接来帮助您:
RasGetProjectionInfo: http://msdn.microsoft.com/en-us/library/aa377548(v=vs.85).aspx
RASPPPIP: http://msdn.microsoft.com/en-us/library/aa377634(v=vs.85).aspx
由于应用程序的一部分似乎正在使用 C#,因此您可能需要考虑在 CodePlex 上使用 DotRas 项目。它是围绕整个 RAS API 的基于 C# 的包装器。要从DotRas获取PPP信息,您需要:
using DotRas;
var conn = RasConnection.GetActiveConnections().Where(c => c.EntryName == "Your Entry").FirstOrDefault();
RasPppIp ipInfo = conn.GetProjectionInfo(RasProjectionType.IP);
从这里,您可以访问ipInfo.IPAddress属性以获取所需的信息。
这是DotRas的链接:https://github.com/winnster/DotRas
希望对您有所帮助!
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- Visual C++GC接口如何启用它以及要包含哪个库
- Windows.h与GLFW.h的接口
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 提供与TMP和SFINAE的通用接口
- 为重写std::exception的库生成swig接口时出错
- 内联如何影响模块接口中的成员函数
- COM 接口 c# 封送数组数组
- 如何在 SCIP C++ 接口中获取 MILP 约束矩阵中的系数值
- 重载 -> shared_ptr 个实例中的箭头运算符<interface>,接口中没有纯虚拟析构函数
- 程序不断发送垃圾邮件号码?
- 如何绑定 C++ gRPC 客户端的网络接口
- 模板化接口 - 创建一个泛型模板类以返回任何容器
- 如何从实现接口的模板化类实例访问结构
- 带有进度表的 curl 多接口程序
- 设计帮助 - 为不同类型的消息处理通用接口的设计模式
- 我可以在具有一个标头和一个接口的 cpp 文件中有多个嵌入吗?
- 在C++中使用线程查找友好号码比单个线程花费更多时间
- 类接口,可以创建N个方法
- 在 RasDial 之后获取 IP 地址/接口号码