VB中的RasEnumConnections函數(shù)返回632錯(cuò)誤解決方法
今天用了一下RasEnumConnections函數(shù),發(fā)現(xiàn)MSDN上的例子是錯(cuò)誤的。
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) {
// ......
}
可惜這個(gè)例子是錯(cuò)誤的,至少在XP SP3上是錯(cuò)誤的,RasEnumConnections函數(shù)返回的是ERROR_INVALID_SIZE(632),而不是ERROR_BUFFER_TOO_SMALL。解決的方法是第一個(gè)參數(shù)不要傳入NULL,而是傳入一個(gè)正確設(shè)置了dwSize的RASCONN結(jié)構(gòu),一般dwSize設(shè)為sizeof(RASCONN)即可;但是如果你的程序要在早期的系統(tǒng)上運(yùn)行,則需要HARD CODE成目標(biāo)系統(tǒng)的值。
相關(guān)文章
Zend Framework過濾器Zend_Filter用法詳解
這篇文章主要介紹了Zend Framework過濾器Zend_Filter用法,結(jié)合實(shí)例形式分析了過濾器Zend_Filter的功能、原理、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-12-12詳解laravel passport OAuth2.0的4種模式
這篇文章主要介紹了laravel passport OAuth2.0的4種模式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Laravel路由設(shè)定和子路由設(shè)定實(shí)例分析
這篇文章主要介紹了Laravel路由設(shè)定和子路由設(shè)定方法,結(jié)合實(shí)例形式分析了Laravel路由的設(shè)定技巧,需要的朋友可以參考下2016-03-03Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能
這篇文章主要介紹了Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Laravel框架批量更新數(shù)據(jù)的相關(guān)模型定義與使用操作技巧,需要的朋友可以參考下2019-05-05php側(cè)拉菜單 漂亮,可以向右或者向左展開,支持FF,IE
其中menu UL UL的left或者right控制向右或者向左顯示子菜單2009-10-10