• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

VB中的RasEnumConnections函数返回632错误解决方法_php实例

php 搞代码 3年前 (2022-01-25) 19次浏览 已收录 0个评论

今天用了一下RasEnumConnections函数,发现MSDN上的例子是错误的。

MSDN上RasEnumConnections的文档是这么说的:

<br />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<i>·本2文来源gaodai$ma#com搞$代*码网2</i><strong>搞gaodaima代码</strong> and an error code of ERROR_BUFFER_TOO_SMALL.<br />

MSDN上提供的示例代码也是这么写的:

<br />DWORD __cdecl wmain(){</p><p>    DWORD dwCb = 0;<br />    DWORD dwRet = ERROR_SUCCESS;<br />    DWORD dwConnections = 0;<br />    LPRASCONN lpRasConn = NULL;<br />    <br />    dwRet = RasEnumConnections(lpRasConn, &dwCb, &dwConnections);</p><p>    if (dwRet == ERROR_BUFFER_TOO_SMALL) {<br />        // ......<br />    }

可惜这个例子是错误的,至少在XP SP3上是错误的,RasEnumConnections函数返回的是ERROR_INVALID_SIZE(632),而不是ERROR_BUFFER_TOO_SMALL。解决的方法是第一个参数不要传入NULL,而是传入一个正确设置了dwSize的RASCONN结构,一般dwSize设为sizeof(RASCONN)即可;但是如果你的程序要在早期的系统上运行,则需要HARD CODE成目标系统的值。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:VB中的RasEnumConnections函数返回632错误解决方法_php实例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址