VB中的RasEnumConnections函數返回632錯誤解決方案_php執行個體

來源:互聯網
上載者:User
今天用了一下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成目標系統的值。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.