Click here to Skip to main content
15,896,497 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Object Dump Pin
_808616-Mar-07 2:03
_808616-Mar-07 2:03 
QuestionQuery regarding Installshield Pin
Shiva Prasad15-Mar-07 21:04
Shiva Prasad15-Mar-07 21:04 
AnswerRe: Query regarding Installshield Pin
toxcct15-Mar-07 23:34
toxcct15-Mar-07 23:34 
AnswerRe: Query regarding Installshield Pin
cp987615-Mar-07 23:52
cp987615-Mar-07 23:52 
AnswerRe: Query regarding Installshield Pin
ThatsAlok16-Mar-07 0:22
ThatsAlok16-Mar-07 0:22 
AnswerRe: Query regarding Installshield Pin
Hamid_RT16-Mar-07 0:45
Hamid_RT16-Mar-07 0:45 
AnswerRe: Query regarding Installshield Pin
Michael Dunn16-Mar-07 15:46
sitebuilderMichael Dunn16-Mar-07 15:46 
QuestionDon't understand code snippet Pin
Programm3r15-Mar-07 20:19
Programm3r15-Mar-07 20:19 
Hi all,

The other day I got a code snippet of MSDN, I know what it does and what it's used for.
But what I don't understand is, when I type my ip address in,
it states that I'm not connected and when I type in any ip the code states that I'm Connected.
struct in_addr BIN_IPV4_ADDR_LOOPBACK = {127, 0, 0, 1}; 
//IP : when I put in my ip the code states that I'm not connected
struct in6_addr BIN_IPV6_ADDR_LOOPBACK =   {   0x0, 0x0,
                                             0x0, 0x0,
                                             0x0, 0x0,
                                             0x0, 0x0,
                                             0x0, 0x0,
                                             0x0, 0x0,
                                             0x0, 0x0,
                                             0x0, 0x1 };
#define   MAX_LOCAL_NAME_LEN               64

BOOL IsNetPresent();
void Print(TCHAR *pFormat, ...);

int _tmain (int argc, TCHAR* argv[])
{
   WSADATA WSAData;

   WSAStartup(MAKEWORD(2,2), &WSAData);
   if (IsNetPresent())
	   Print(TEXT("Network Connection IS present"));
   else
	   Print(TEXT("Network Connection is NOT present"));
   WSACleanup();
   getch();
   return 0;
}

BOOL IsNetPresent()
{
   BOOL bFoundLocalAddr = FALSE;
   char szAddrASCII[MAX_LOCAL_NAME_LEN];
   ADDRINFO AddrHints, *pAI, *pAddrInfo;

   if(gethostname(szAddrASCII, MAX_LOCAL_NAME_LEN - 1))
   {
      Print(TEXT("Error getting local host name, error = %d"), WSAGetLastError());
      return FALSE;
   }

   memset(&AddrHints, 0, sizeof(AddrHints));
   AddrHints.ai_family = PF_UNSPEC;
   AddrHints.ai_flags = AI_PASSIVE;

   if(getaddrinfo(szAddrASCII, "10", &AddrHints, &pAddrInfo))
   {
      Print(TEXT("getaddrinfo(%hs) error %d"), szAddrASCII, WSAGetLastError());
      return FALSE;
   }

   bFoundLocalAddr = TRUE;
   for(pAI = pAddrInfo; pAI != NULL && bFoundLocalAddr; pAI = pAI->ai_next)
   {
      if(pAI->ai_family == PF_INET)
      {
         if(memcmp(&(((SOCKADDR_IN *)(pAI->ai_addr))->sin_addr), &BIN_IPV4_ADDR_LOOPBACK, sizeof(BIN_IPV4_ADDR_LOOPBACK)) == 0)
            bFoundLocalAddr = FALSE;
      }
      else if(pAI->ai_family == PF_INET6)
      {
         if(memcmp(&(((SOCKADDR_IN6 *)(pAI->ai_addr))->sin6_addr), &BIN_IPV6_ADDR_LOOPBACK, sizeof(BIN_IPV6_ADDR_LOOPBACK)) == 0)
            bFoundLocalAddr = FALSE;
      }
   }

   freeaddrinfo(pAddrInfo);

   return bFoundLocalAddr;
}

void
Print(
   TCHAR *pFormat,
   ...)
{
   va_list ArgList;
   TCHAR   Buffer[256];

   va_start (ArgList, pFormat);

   (void)StringCchPrintf(Buffer, 256, pFormat, ArgList);

#ifndef UNDER_CE
   _putts(Buffer);
#else
   OutputDebugString(Buffer);
#endif

   va_end(ArgList);
}

Could anyone please give me some help, clearly I don't understand it correctly.

Many Thanks
Regards,


The only programmers that are better than C programmers are those who code in 1's and 0's..... Smile | :)

Smile | :) Programm3r

My Blog: ^_^

AnswerRe: Don't understand code snippet Pin
prasad_som15-Mar-07 23:08
prasad_som15-Mar-07 23:08 
QuestionRe: Don't understand code snippet Pin
David Crow16-Mar-07 3:02
David Crow16-Mar-07 3:02 
QuestionRe: Don't understand code snippet Pin
Mark Salsbery16-Mar-07 8:24
Mark Salsbery16-Mar-07 8:24 
Questionget data values from a dataGrid Pin
webHamlet15-Mar-07 19:40
webHamlet15-Mar-07 19:40 
AnswerRe: get data values from a dataGrid Pin
ThatsAlok15-Mar-07 23:17
ThatsAlok15-Mar-07 23:17 
GeneralRe: get data values from a dataGrid Pin
webHamlet16-Mar-07 4:33
webHamlet16-Mar-07 4:33 
QuestionSendMessage() to a tabbed dialog Pin
Trevy15-Mar-07 19:38
Trevy15-Mar-07 19:38 
AnswerRe: SendMessage() to a tabbed dialog Pin
prasad_som15-Mar-07 19:52
prasad_som15-Mar-07 19:52 
Questiondisable button Pin
janpoo15-Mar-07 19:35
janpoo15-Mar-07 19:35 
AnswerRe: disable button Pin
prasad_som15-Mar-07 19:39
prasad_som15-Mar-07 19:39 
GeneralRe: disable button Pin
janpoo15-Mar-07 20:15
janpoo15-Mar-07 20:15 
AnswerRe: disable button Pin
prasad_som15-Mar-07 20:18
prasad_som15-Mar-07 20:18 
GeneralRe: disable button Pin
janpoo15-Mar-07 20:29
janpoo15-Mar-07 20:29 
GeneralRe: disable button Pin
Hamid_RT15-Mar-07 20:29
Hamid_RT15-Mar-07 20:29 
GeneralRe: disable button Pin
janpoo15-Mar-07 20:56
janpoo15-Mar-07 20:56 
GeneralRe: disable button Pin
Hamid_RT16-Mar-07 0:42
Hamid_RT16-Mar-07 0:42 
AnswerRe: disable button Pin
ThatsAlok16-Mar-07 0:01
ThatsAlok16-Mar-07 0:01 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.