在VB中使用RasEnumConnections函数是返回632错误如何解决

介绍

这篇文章将为大家详细讲解有关在VB中使用RasEnumConnections函数是返回632错误如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

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

确定所需的缓冲区大小,叫RasEnumConnections lprasconn设置为NULL。lpcb所指向的变量应该设置为零。函数将返回所需的缓冲区大小ERROR_BUFFER_TOO_SMALL lpcb和错误代码。


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

DWORD __cdecl wmain () {

,,,DWORD dwCb=0;
,,,DWORD dwRet=ERROR_SUCCESS;
,,,DWORD dwConnections=0;
,,,LPRASCONN LPRASCONN=零;
,,,
,,,dwRet=RasEnumConnections (lpRasConn, dwCb,, dwConnections);

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

关于在VB中使用RasEnumConnections函数是返回632错误如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

在VB中使用RasEnumConnections函数是返回632错误如何解决