2010-02-16 8 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