VB中的RasEnumConnections函数返回632错误解决方法
今天用了一下RasEnumConnections函数,发现MSDN上的例子是错误的。
MSDN上RasEnumConnections的文档是这么说的:
To determine the required buffer size, call RasEnumConnections with lprasconn set to NULL. The variable pointed to by lpcb should be set to zero. The function will return the required buffer size in lpcb and an error code of ERROR_BUFFER_TOO_SMALL.
MSDN上提供的示例代码也是这么写的:
DWORD __cdecl wmain(){
DWORD dwCb = 0;
DWORD dwRet = ERROR_SUCCESS;
DWORD dwConnections = 0;
LPRASCONN lpRasConn = NULL;
dwRet = RasEnumConnections(lpRasConn, &dwCb, &dwConnections);
if (dwRet == ERROR_BUFFER_TOO_SMALL) {
// ......
}
可惜这个例子是错误的,至少在XP SP3上是错误的,RasEnumConnections函数返回的是ERROR_INVALID_SIZE(632),而不是ERROR_BUFFER_TOO_SMALL。解决的方法是第一个参数不要传入NULL,而是传入一个正确设置了dwSize的RASCONN结构,一般dwSize设为sizeof(RASCONN)即可;但是如果你的程序要在早期的系统上运行,则需要HARD CODE成目标系统的值。
相关推荐
-
VB实现的倒计时类代码详解
本文所述为用VB制作倒计时程序用到的一个Module类代码,是基于控制台的倒计时程序,可供VB初学者或者VB爱好者参考学习,当然读者也可以将其拷贝代码到VB工程里面直接使用,不过需要自己创建相关的代码,对于初学者来说,也是很容易看懂的一段代码. 具体功能代码如下: Module Module1 Sub Main() Dim a As Date Dim h, m, s As Integer Dim n, i As Long Dim x, z As Long Dim y As Long Consol
-
VB调用Word拼写检查功能实例
众所周知,Word有自带的拼写检查功能.VB中想要实现调用 Word 拼写检查功能其实很简单就可以实现,方法是先建立word对象,然后把需要检查的字符串放到 WORD中,调用word拼写检查,再取出返回值,最后关闭对象. 各个步骤的具体实现代码如下所示: Function CheckSpell(IncorrectText as string) as string Dim Word As Object, retText$ On Error Resume Next '建立WORD对象并打开 Set
-
VB实现鼠标绘图实例代码
本文所述为VB实现鼠标绘图的实例,该实例实现线条颜色和线宽可自设,当按下鼠标按键时绘图开始并记录最初的起点,如果不是处在绘图状态则退出该过程,如果处在绘图状态则从起点到目前鼠标所在点绘制直线,然后将当前鼠标所在点作为新的起点,当释放鼠标按键时绘图结束. 具体的功能代码如下: VERSION 5.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx" Begin VB.For
-
VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法
通常用VB 写的程序在32位系统上可以正常的运行,但到了64位系统中虽然可以运行但是无法修改OEM信息.经过查找原因可以发现,当我们在访问文件夹"SYSTEM32"的时候系统会自动转向到文件夹"SYSWOW64"下,当我们在访问某些注册表键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面. 先来谈谈文件系统的转向,查找了一些资料,并没有VB相关的资料,但是可以查到2个相关函数:Wow64DisableWow64FsRedirect
-
VB读取线程、句柄及写入内存的API代码实例
本文所述实例为VB读取内存.线程及句柄的一个API,对涉及系统底层操作的VB编程有一定的帮助,需要的读者可以参考使用.这个API可获取到线程ID,写内存,包括进程句柄,ByVal 内存区地址,数据,总长度,已经完成长度,读取进程,包括进程句柄,ByVal 内存区地址,读取来的数据存放处,要读取的长度,已经读取的长度,内存分配(进程柄,地址[好像只要丢个0进去就行],长度,权限1[MEM_COMMIT],权限2[PAGE_READWRITE])返回:分配到的内存起始地址等功能. 具体实现代码如下:
-
VB实现屏蔽文本框右键菜单的复制、粘贴等功能的方法
本文实例讲述了VB屏蔽文本框中的右键菜单.复制.粘贴等功能的实现方法.该功能就是禁止文本框的右键功能,造成点击鼠标右键无效.是非常常见的一类实用功能. 具体的功能模块代码如下: '========================================================== '| 模 块 名 | TextBoxDisableAbility '| 说 明 | 禁止文本框的功能 '=================================================
-
VB使用XMLHTTP实现Post与Get的方法
本文所述为visual basic6.0的一个模块方法,是使用XMLHTTP实现Post与Get功能,虽然是一个老代码,但是可以替代Inet控件,实现数据通讯.很值得学习借鉴一下. 主要模块代码如下: '========================================================== '| 模 块 名 | XMLHTTP '| 说 明 | 替代Inet控件,实现数据通讯 '============================================
-
VB中的RasEnumConnections函数返回632错误解决方法
今天用了一下RasEnumConnections函数,发现MSDN上的例子是错误的. MSDN上RasEnumConnections的文档是这么说的: 复制代码 代码如下: To determine the required buffer size, call RasEnumConnections with lprasconn set to NULL. The variable pointed to by lpcb should be set to zero. The function will
-
php中unserialize返回false的解决方法
本文实例讲述了php中unserialize返回false的解决方法,分享给大家供大家参考.具体方法如下: php 提供serialize(序列化) 与unserialize(反序列化)方法. 使用serialize序列化后,再使用unserialize反序列化就可以获取原来的数据. 先来看看如下程序实例: <?php $arr = array( 'name' => 'fdipzone', 'gender' => 'male' ); $str = serialize($arr); //序
-
php中mail函数发送邮件失败的解决方法
本文实例讲述了php中mail函数发送邮件失败的解决方法.分享给大家供大家参考.具体分析如下: php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧. 之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了,但是发现sendmail明明已经安装,如果没有安装sendmail可以执行,代码如下: 复制代码 代码如下: yum install
-
python使用threading获取线程函数返回值的实现方法
threading用于提供线程相关的操作,线程是应用程序中工作的最小单元.python当前版本的多线程库没有实现优先级.线程组,线程也不能被停止.暂停.恢复.中断. threading模块提供的类: Thread, Lock, Rlock, Condition, [Bounded]Semaphore, Event, Timer, local. threading 模块提供的常用方法: threading.currentThread(): 返回当前的线程变量. threading.enumera
-
解决idea中maven项目无端显示404错误的方法
问题描述: 有时我们会发现idea中创建的maven项目老是显示项目路径找不到,自己反复检查代码也没发现错误,如何你项目的web.xml是直接由idea默认创建的,而你的头文件又是后来直接用3.1或者更高的版本(推荐3.1版本)覆盖的原来的头文件,那我这篇博客就对你有帮助了. 问题原因: 当我们idea使用maven创建web项目时,idea默认提供的web.xml非常古老,功能不完善.如果我们只是单纯替换其头文件的话是没有用的,idea中web.xml的配置还是没有变. 如何解决: 1.将原来
-
php中laravel调度执行错误解决方法
我们说laravel框架的功能性比较明确,作为全栈框架在代码的运行上是比较简洁的.在对laravel框架安装完成后,我们可以就其中的一些操作为大家展现.本篇要带来的是在laravel中的调度,分为两种不同目录的情况讨论,同时把可能在调度中会出现的错误情况,单独为大家呈现并解决. 1.不在laravel根目录(命令行操作前的地址) php /www/wwwroot/laravel6/artisan schedule:run /www/wwwroot/laravel/artisan 解释 /www/
-
Java中为什么不同的返回类型不算方法重载
目录 为什么不同返回类型不算方法重载? 方法重载的使用场景 方法重载匹配原则 匹配原则1:精准类型匹配 匹配原则2:基本类型自动转换成更大的基本类型 匹配原则3:自动装/拆箱匹配 匹配原则4:按照继承路线依次向上匹配 匹配原则5:可变参数匹配 总结 方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载. 比如以下 4 个 method 方法就可以称之为方法重载, 如下代码所示: public class OverloadExample { public
-
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
本文实例讲述了Python提示[Errno 32]Broken pipe导致线程crash错误解决方法.分享给大家供大家参考.具体方法如下: 1. 错误现象 ThreadingHTTPServer 实现的 http 服务,如果客户端在服务器返回前,主动断开连接,则服务器端会报 [Errno 32] Broken pipe 错,并导致处理线程 crash. 下面先看个例子,python 版本: 2.7 示例代码 复制代码 代码如下: #!/usr/bin/env python #!coding=u
-
Go中http超时问题的排查及解决方法
背景 最新有同事反馈,服务间有调用超时的现象,在业务高峰期发生的概率和次数比较高.从日志中调用关系来看,有2个调用链经常发生超时问题. 问题1: A服务使用 http1.1 发送请求到 B 服务超时. 问题2: A服务使用一个轻量级http-sdk(内部http2.0) 发送请求到 C 服务超时. Golang给出的报错信息时: Post http://host/v1/xxxx: net/http: request canceled while waiting for connection (C
-
iOS11适配工作及导航栏影藏返回文字的解决方法
前言 本文主要介绍了关于iOS11适配及导航栏影藏返回文字的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.iOS11适配工作 这是一篇 WWDC Session 204 "Updating Your App for iOS 11" 的总结,里面的内容涉及到了产品.设计以及开发需要了解的内容. 在 "iPad" 以及 "iPhone 的 Landscape" 下, UITabBarItem 图片和文字并排排列了,并
随机推荐
- Mootools 1.2教程(3) 数组使用简介
- javascript开发中因空格引发的错误
- dreamweaver cs4 激活码与方法
- 用vbscript实现隐藏任务栏图标的脚本
- 用DNSPod和Squid打造自己的CDN (三) 安装CentOS Linux
- systeminfo 系统命令快速查看你的系统几岁了
- python字符串替换示例
- kvm中使用console命令记录的方法
- 高性能JavaScript 重排与重绘(2)
- asp.net输出重写压缩页面文件实例代码
- 浅谈jsp的C标签一般使用方法以及js接收servlet中的对象及对象数组
- js null,undefined,字符串小结
- winxp 安装MYSQL 出现Error 1045 access denied 的解决方法
- Nodejs全局安装和本地安装的不同之处
- React-Native左右联动List的示例代码
- javascript实现复选框选中属性
- jQuery 写的简单打字游戏可以提示正确和错误的次数
- 深入分析SQL Server 存储过程
- jQuery插件HighCharts实现气泡图效果示例【附demo源码】
- jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】