2010-02-16 61 views
0

我正在使用WSAGetLastError函数检索使用getHostByName函数时的失败详细信息。但该函数返回的错误代码0042124C在文档中不可用。我是否以其他格式接收错误代码,或者我是否以错误的方式使用该功能?WSAGetLastError错误代码未知

谢谢。

PS。下面

// DNS Hostname.cpp : Defines the entry point for the console application. 
// 

#include "stdafx.h" 
#include "DNS Hostname.h" 

#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 

///////////////////////////////////////////////////////////////////////////// 
// The one and only application object 

CWinApp theApp; 

using namespace std; 

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) 
{ 
    int nRetCode = 0; 

    // initialize MFC and print and error on failure 
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) 
    { 
     // TODO: change error code to suit your needs 
     cerr << _T("Fatal Error: MFC initialization failed") << endl; 
     nRetCode = 1; 
    } 
    else 
    { 
     WORD wVersionRequested; 
     WSADATA wsaData; 
     int err; 
     wVersionRequested = MAKEWORD(2, 2); 

     err = WSAStartup(wVersionRequested, &wsaData); 


     HOSTENT* pHostDetails = NULL; 
     pHostDetails = gethostbyname("IE10-FLYFB1S"); 

     if(pHostDetails) 
     { 
      int nList = 0; 
      CString sAddressString; 
      CString sSQLAddress; 
      CString sSQLMachine; 
      unsigned long addr; 

      while (pHostDetails->h_addr_list[nList]) 
      { 
       addr = (*(u_long FAR *) pHostDetails->h_addr_list[nList]); 

       sAddressString.Format(_T("%d.%d.%d.%d"),(addr & 255),((addr >> 8) & 255),((addr >> 16) & 255),((addr >> 24) & 255)); 

       sSQLAddress.Format(_T(" OR Machine = '%s' "),sAddressString); 
       sSQLMachine += sSQLAddress; 

       nList++; 
      } 
      cout << sSQLMachine << endl; 
     } 
     else 
     { 
      int error = WSAGetLastError(); 
      cout << error << endl; 
     } 
    } 

    WSACleanup(); 

    return nRetCode; 
} 

回答

-1

的gethostbyname代码段已被弃用,使用getaddrinfo来代替。

+0

不以任何方式解释现象。 – EJP 2017-10-04 18:42:08