今天,我们用rasenumconnections功能和发现MSDN的例子是错误的。

这是MSDN上的rasenumconnections文件说:

复制代码代码如下所示:

确定所需的缓冲区大小,叫rasenumconnections与lprasconn集,它也被称为以下三个方面。



MSDN提供的示例代码也写。

复制代码代码如下所示:

DWORD __cdecl wmain(){

DWORD dwcb = 0;

dwret = error_success DWORD;

DWORD dwconnections = 0;

lprasconn lprasconn = null;



dwret = rasenumconnections(lprasconn,dwcb,dwconnections);

如果(dwret = = error_buffer_too_small){

/……

}

不幸的是,这个例子是错误的。至少在XP SP3,这是错误的。rasenumconnections函数返回error_invalid_size(632)而不是error_buffer_too_small.the溶液不为空的第一个参数,但引入正确的dwSize rasconn结构,dwSize尺寸(RASCONN);但是如果你的程序运行在系统的初期,你需要硬编码到系统的目标价值。