error =  GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), szError, 0, NULL);
请问有哪些原因

解决方案 »

  1.   

    GetLastError放在FormatMessage的后面
      

  2.   

    GetLastError放在FormatMessage函数里还是没有返回明细错误信息,我用他来显示FTP连接信息
    if(!(m_hFtpConnect = InternetConnect(m_hInetSession, g_pConfig->m_stFtpDown[i].m_strFtpSite, g_pConfig->m_stFtpDown[i].m_iPort, g_pConfig->m_stFtpDown[i].m_strFtpUser, g_pConfig->m_stFtpDown[i].m_strFtpPwd, INTERNET_SERVICE_FTP, g_pConfig->m_stFtpDown[i].m_bMode ? INTERNET_FLAG_PASSIVE : 0, 0)))
    {
    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), szError, 0, NULL);
    pView->AddListBox(szError);
    return false;
      

  3.   

    我调试了一下,FormatMessage没有取到相应信息。
      

  4.   

    取ftp的错误信息,你应该加载netMsg.dll