🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.internet.socket
Article #2626

Re: Get network card info

#2626
From: Remy Lebeau (TeamB)
Date: Wed, 22 Feb 2006 22:58
64 lines
2844 bytes
"Mark Jacobs" <markj@critical.co.uk> wrote in message
news:43fc678d$1@newsgroups.borland.com...

>    IP_ADAPTER_INFO AdapterInfo[16];

I would suggest dynamically allocating the array instead, ie:

    #include <Iphlpapi.h>

    AnsiString mjgetnicinfo()
    {
        PIP_ADAPTER_INFO *Adapters = NULL;
        ULONG ulBufLen = 0;
        AnsiString retv;

        if( GetAdaptersInfo(NULL, &uiBufLen) == ERROR_BUFFER_OVERFLOW )
        {
            Adapters = (PIP_ADAPTER_INFO) LocalAlloc(LMEM_FIXED, uiBufLen);
            if( Adapters )
            {
                try
                {
                    if( GetAdaptersInfo(Adapters, &uiBufLen) ==
ERROR_SUCCESS )
                    {
                        PIP_ADAPTER_INFO pAdapter = Adapters;
                        do
                        {
                            AnsiString info;
                            info.sprintf("Name: %s\r\nDescription:
%s\r\nMAC: ",
                                pAdapter->AdapterName,
pAdapterInfo->Description);

                            for(unsigned int ii = 0; ii <
pAdapter->AddressLength; ++ii)
                                info += IntToHex(pAdapter->Address[ii], 2) +
":";
                            info += "\r\n";

                            retv += info;
                            pAdapter = pAdapter->Next;
                        }
                        while( pAdapter );
                    }
                    else
                        retv = "**Could not Obtain NIC Info";
                }
                __finally {
                    LocalFree(Adapters);
                }
            }
            else
                retv = "**Could not Allocate Memory for NIC Info";
        }
        else
            retv = "**Could not Calculate NIC Info";

        return retv;
    }


Gambit
Technical Details
Message-ID: <43fcece8$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <43fbb113@newsgroups.borland.com> <43fc678d$1@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 11508e,85079a5ab928c6d5
X-Google-Attributes: gid11508e,public
X-Google-Language: ENGLISH,ASCII-7-bit
From: "Remy Lebeau \(TeamB\)" <no.spam@no.spam.com>
Newsgroups: borland.public.cppbuilder.internet.socket
References: <43fbb113@newsgroups.borland.com> <43fc678d$1@newsgroups.borland.com>
Subject: Re: Get network card info
Date: Wed, 22 Feb 2006 14:58:41 -0800
Lines: 66
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
NNTP-Posting-Host: 68.69.17.41
Message-ID: <43fcece8$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1140649192 68.69.17.41 (22 Feb 2006 14:59:52 -0700)
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail