RasEnumConnections返回错误为632的分析

VB中的RasEnumConnections函数返回632错误解决方法 主要介绍了VB中的RasEnumConnections函数返回632错误解决方法,使用MSDN中的例子在XP SP3系统上出现的错误,需要的朋友可以参考下 立即下载

RasEnumConnections返回错误为632的分析

按照MSDN调用RasEnumConnections的例子写成的代码如下:
  RASCONN RasConn;
  DWORD cb;
  DWORD Connections = 0;

  RasConn.dwSize = cb = sizeof(RASCONN);
  DWORD nRet = RasEnumConnections(&RasConn, &cb, &Connections);
 
当时一运行,总是返回ERROR_INVALID_SIZE(632)。于是google了一下,CodeProject有人说了这个问题,要把RasConn.dwSize写成0x53c,试了一下不行。在另外一个网站说,要写成0x19c,试了一下居然可以。但是不明白为什么?又MSDN了一下,得到的解释是对于运行在不同版本的Windows,都要按照该版本重新定义WINVER,再重头编译。

在RAS.h中找到了RASCONN的定义,
RASCONNA
{
    DWORD    dwSize;
    HRASCONN hrasconn;
    CHAR     szEntryName[ RAS_MaxEntryName + 1 ];

#if (WINVER >= 0x400)
    CHAR     szDeviceType[ RAS_MaxDeviceType + 1 ];
    CHAR     szDeviceName[ RAS_MaxDeviceName + 1 ];
#endif
#if (WINVER >= 0x401)
    CHAR     szPhonebook [ MAX_PATH ];
    DWORD    dwSubEntry;
#endif
#if (WINVER >= 0x500)
    GUID     guidEntry;
#endif
#if (WINVER >= 0x501)
 DWORD dwFlags;
 LUID    luid;
#endif
};

然后分别把不同WINVER的大小数了一下,
WINDOWSNT4.0(0x400) 0x19c
WINDOWS9x/me        0x2A4
WINDOWS2k           0x2B4
WINDOWSxp/2003      0x2C0

再把Win2k的RasEnumConnections代码整出来,可以处理大小为0x2B4和0x19c,对于其他大小就返回632的错误。Win2003的RasEnumConnections代码,可以处理这四种大小,非以上四种大小才返回632的错误。

现在回想我的问题,全部明白了。我是用VS2003编译的程序,没有定义WINVER,编译器默认就给你定义为0x501,这样sizeof(RASCONN)=0x2c0,而我又是在2k下运行的程序,就得到了632的错误。因此如果不是需要取后面版本的信息,就直接把RasConn.dwSize写成0x19c,就可以做到通用了。


Android应用开发从零到一:基于Kotlin与Jetpack Compose的完整实践指南 移动应用开发的核心在于构建一个架构清晰、可维护且可扩展的应用基础。理解应用架构的原理,如关注点分离和数据驱动UI,是实现高质量应用的关键技术价值。在现代Android开发中,Kotlin语言凭借其空安全特性和协程,能有效提升代码的健壮性与开发效率。Jetpack Compose作为声明式UI框架,代表了UI开发的未来方向,与Kotlin协程深度集成,简化了复杂交互界面的构建。这些技术共同服务于个人任务管理、企业工具等多种应用场景。本文以构建一个完整的个人任务管理应用为例,系统阐述从环境搭建、UI构建、数据持 阅读详情

相关推荐

TMC5160 StallGuard2调参避坑指南:从SG_RESULT飘忽不定到稳定检测堵转

本文详细解析了TMC5160的StallGuard2功能在堵转测试中的调参技巧,从SG_RESULT波动问题到稳定检测的完整解决方案。通过电流环与反电动势分析、电源噪声处理及低速校准法等实用方法,帮助工程师实现工业级可靠的堵转检测,避免误触发和检测失效问题。

weixin_28727975的博客 382

解决AsyncPro 5.0调用RasEnumEntries返回632错误

最近需要用AsyncPro 5.0的ApdRasDialer组件进行拨号,但打开phonebook的时候总是说通讯簿为空,在delphi2007和2010都出现这个问题。后来经过debug,发现组件调用RasEnumEntries时返回632错误,ERROR_INVALID_SIZE,再检查,发现RasEnumEntries指向了RASAPI32.dll的RasEnumEntriesW方法,uni...

weixin_30650859的博客 181

西门子S7-200 SMART与施耐德ATV变频器Modbus通讯实战:从接线到稳定运行的完整指南

本文详细介绍了西门子S7-200 SMART PLC与施耐德ATV变频器之间实现稳定Modbus通讯的完整实战指南。内容涵盖从硬件接线、参数配置、PLC程序编写到触摸屏设计的全流程,并分享了提升通讯稳定性的关键技巧和常见故障排查方法,助力工业自动化系统可靠运行。

kkk56的博客 1110

C# 连接自动拨号与断开分析

C#的自动拨号和断开当前连接的代码网上很多,可是没有一个是真正自动的,就算我指明了对那个连接进行拨号,也只是弹出那个拨号连接的窗口,想要拨号还需要自己手动点击“拨号”按钮,才能开始拨号。 到网上找了很久,终于找到了解决方法。 现在把源码贴出来,给大家研究分析用。 拨号控制管理类:using System; using System.Collections.Generic

jgstour的专栏 678

新手避坑指南:用COMSOL Multiphysics仿真气体放电(汤逊vs.流注)

本文详细介绍了使用COMSOL Multiphysics仿真气体放电的实战指南,涵盖汤逊理论和流注模型的实现方法。通过对比两种放电模型的关键参数和物理场配置,帮助新手避免常见错误,准确预测气体击穿过程。文章还提供了工程应用案例,如高压绝缘子设计优化,展示了仿真技术在电力设备绝缘设计中的实际价值。

weixin_28716181的博客 478

深入解析CAN总线BusOff故障的检测与恢复机制

本文深入解析了CAN总线BusOff故障的检测与恢复机制。BusOff是CAN节点因发送错误过多而被强制离线的一种严重状态。文章详细阐述了其触发原理,即发送错误计数器(TEC)超过255,并重点介绍了通过软件实现的快慢恢复机制,以增强网络在异常情况下的稳定性和韧性。

weixin_29158047的博客 525

RasEnumConnections

DWORD RasEnumConnections( _Inout_ LPRASCONN lprasconn, _Inout_ LPDWORD lpcb, _Out_ LPDWORD lpcConnections );说明该函数列出所有活动的RAS连接,包含连接句柄和电话簿条目名称。 参数lprasconn [in, out]指向一个RASCONN结构数组,用于接收所有活动连接

cozil的专栏 1102

39、低功耗处理器性能评估与Cortex - M23/M33低功耗特性解析

本文深入解析了Cortex-M23和Cortex-M33处理器的低功耗特性及其性能评估方法。介绍了ULPMark、CoreMark、IoTMark-BLE和SecureMark-TLS等基准测试在能效评估中的应用,并详细阐述了处理器的睡眠模式、系统控制寄存器(SCR)配置、WFI/WFE指令、退出时睡眠、挂起时发送事件(SEVONPEND)以及唤醒中断控制器(WIC)等关键低功耗机制。结合状态保留技术,展示了如何通过芯片级设计大幅降低泄漏电流,实现高效能低功耗的物联网与嵌入式系统设计。

Pepper的专栏 130

查询当前IP方法小结

在网上找了一篇文章:小结一下查找IP方法。 1.Powersock 控件法: 这种方法最简单,利用FastNet页的 Powersock控件的LocalIP属性即可判断: if(Powersock1->LocalIP=="127.0.0.1"):在线 else:离线 特点:[1]判断连接状态,[2]获得本地IP。 2.使用URL.DLL的InetIsOffline(0) 函数:

Crazw365的专栏 1011

手把手安装GNN必备库 —— pytorch_geometric

PyG全称是Pytorch Geometric,它是一个基于Pytorch构建的库,可以帮助用户快速构建和训练自己的图神经网络模型。PyG中实现了很多先进(state of the art)的GNN模块,例如GCN、GraphSage、GAT、SGC、GIN等等。此外,PyG中还包含了大量的benchmark图数据集、丰富的图数据操作方法、支持多GPU。

m0_51339444的博客 2381

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9030

Remote Access Service (RAS)远程访问服务

Remote Access Service 远程访问服务(RAS)是Windows 9X/NT/2000操作系统提供的系统服务器之一,通过电话线可以使单独的计算机接入网络,或通过两个RAS对拨使两个局域网互连,此项服务的功能可以使远程的计算机以较低的费用同网络连接,而且一旦建立了RAS连接,则可以使用其它的几乎所有的网络函数,对用户来说,实际上和通过网卡在基于网中进行数据传输是一样的。

FUN 7950

一文搞懂蚁群算法Ant Colony Optimization(ACO)!!!(灵感起源+数学原理+代码实现+实战应用)

本文系统介绍了蚁群算法的原理与实现。首先从蚂蚁觅食行为出发,阐释了信息素正反馈机制如何引导群体找到最短路径。随后详细解析了算法的数学模型,包括状态转移规则和信息素更新机制。通过MATLAB代码演示了算法在旅行商问题(TSP)中的应用,展示了路径构建和优化的完整流程。最后讨论了算法的优势、局限性和实际应用场景。蚁群算法通过模拟生物智能,为解决复杂优化问题提供了一种高效方法,其核心在于信息素的正反馈机制与随机探索的平衡。

qq_42212808的博客 888

Windows Embedded Compact 7网络编程概述(下)

11.1.1SelectI/O模型 在WindowsCE中,Select模型是唯一被支持的I/O模型。SelectI/O模型就是利用select函数对I/O进行管理。 函数select的功能在于获取一个或多个套接字的状态,以及在必要的时候执行同步I/O操作进行等待。它的原型如下: intselect( intnfds, fd_setFAR*...

weixin_34270606的博客 165

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# 网络营销 - c#可以实现连接和断开宽带的拨号程序吗?

ADSL自动拨号类,前提是在系统中已经有了一个宽带拨号连接     调用代码:     RASDisplay   ras   =   new   RASDisplay();     ras.Disconnect();//断线     ras.Connect("adsl");//拨号                 using   System;     using   System.Runtime

aaaaatiger--寻路 2576

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

RasDial的返回错误代码大全

http://vbkbase.com/bianchengjiqiao/2009-08-02/247.html RasDial的返回错误代码大全时间:2009-08-02 11:13:10来源: 作者: 点击:1次  适用于rasdial拨号 在使用“网络和拨号连接”时,可能会提示一个或多个下列错误信息:  600 操作挂起。发生内部错误,重新启动计算机,以确

码农的菜园子 7480

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

RAS error code base

600-操作挂起-发生内部错误,重新启动计算机,以确保所有最近所作的配置更改都能生效。601-检测到无效的端口句柄-发生内部错误,重新启动计算机,以确保所有最近所作的配置更改都能生效。602-指定的端口已打开-网络连接试图使用的com端口正在被其他活动的网络连接或其他的进程(例如:诸如传真程序之类的电话线路监视程序)使用。退出阻止使用com端口的应用...

weixin_34406796的博客 544

VS 用RasDial结果返回 "检测到一个不正确的结构大小"错误代码632 VS2010 VC6正常,怎解?!

VS 用RasDial结果返回 "检测到一个不正确的结构大小"错误代码632 VS2010 VC6正常,怎解?! 结构大小不对,平台有关,VS2012-VS2015得在stdafx.h文件中,定义一个#define WINVER 0X0501 即可

kupig的专栏 1649
上一篇: SX非法模块解决
下一篇: 创建基于 Win32 的应用程序 (C++)
M-先生
博客等级 码龄17年 60粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值