Avatar billede borrisholt Novice
15. november 2001 - 14:53 Der er 9 kommentarer og
1 løsning

Hvem har hvad ?

Hvordan finder jeg ud af hvilken NetVærks Adapter som min Mac - adresse er knyttet til ?

Og Hvilken IP adresse har de forskellige Adaptere ?

Jens B
Avatar billede jpk Nybegynder
15. november 2001 - 14:58 #1
Måske du kan bruge følgende til noget...

typedef struct _ASTAT_
{
    ADAPTER_STATUS adapt;
    NAME_BUFFER    NameBuff[30];
} ASTAT, * PASTAT;


CString GetMacAddress(CString sNetBiosName)
{
    ASTAT Adapter;
   
    NCB ncb;
    UCHAR uRetCode;
   
    memset(&ncb, 0, sizeof(ncb));
    ncb.ncb_command = NCBRESET;
    ncb.ncb_lana_num = 0;
   
    uRetCode = Netbios(&ncb);
   
    memset(&ncb, 0, sizeof(ncb));
    ncb.ncb_command = NCBASTAT;
    ncb.ncb_lana_num = 0;
   
    sNetBiosName.MakeUpper();
   
    FillMemory(ncb.ncb_callname, NCBNAMSZ - 1, 0x20);
   
    strcpy((char *)ncb.ncb_callname, (LPCTSTR) sNetBiosName);
   
    ncb.ncb_callname[sNetBiosName.GetLength()] = 0x20;
    ncb.ncb_callname[NCBNAMSZ] = 0x0;
   
    ncb.ncb_buffer = (unsigned char *) &Adapter;
    ncb.ncb_length = sizeof(Adapter);
   
    uRetCode = Netbios(&ncb);
   
    CString sMacAddress;
   
    if (uRetCode == 0)
    {
        sMacAddress.Format(_T(\"%02x%02x%02x%02x%02x%02x\"),
            Adapter.adapt.adapter_address[0],
            Adapter.adapt.adapter_address[1],
            Adapter.adapt.adapter_address[2],
            Adapter.adapt.adapter_address[3],
            Adapter.adapt.adapter_address[4],
            Adapter.adapt.adapter_address[5]);
    }
    return sMacAddress;
}

Avatar billede borrisholt Novice
15. november 2001 - 15:00 #2
Nej desværre ikke ..... Jeg har noget ligende kode ......

Er jeg så heldig du har BÅDE et opkalds kort OG et netkort i din PC ?

Jens B
Avatar billede jpk Nybegynder
15. november 2001 - 15:03 #3
Ikke her, men derhjemme...
Avatar billede borrisholt Novice
15. november 2001 - 15:06 #4
Det jeg tænkte på var at man MÅSKE ud fra kortets placering kunne afgøre  noget ?

MIT eget netkort har placeringen :
PCI bus 0, device 10, function 0 (Hentet fra Regedit) tror du man ud fra det kan konkludere noget ?

Jens B
Avatar billede jpk Nybegynder
15. november 2001 - 15:23 #5
Hmm, ved det ikke
Har du ikke andre oplysninger end ovenstående?
Avatar billede borrisholt Novice
15. november 2001 - 15:26 #6
mængder .. Nu koder jeg det godt nok i Pascal men jeg kan saktens bruge et svar i C++ ..

Anyway jeg ved det følgende om mit net kort

  TDevice = record
    ClassName,
    ClassDesc,
    ClassIcon,
    FriendlyName,
    Description,
    GUID,
    Manufacturer,
    Location,
    HardwareID,
    Driver,
    DriverDate,
    DriverVersion,
    DriverProvider,
    Service,
    ServiceName,
    ServiceGroup: string;
    ServiceType: integer;
    RegKey: string;
    DeviceClass :TDeviceClass;
  end;

DeviceClass er en Enum type som i den her forbindelse er dcNET.

Jens B
Avatar billede jpk Nybegynder
15. november 2001 - 15:34 #7
Har du checket om der er noget du kan bruge fra GetAdaptersInfo?
Avatar billede borrisholt Novice
15. november 2001 - 15:37 #8
nej hvor er den erklæret ?
Avatar billede jpk Nybegynder
15. november 2001 - 15:38 #9
Iphlpapi.h
Men den virker IKKE i Win95...
Avatar billede borrisholt Novice
15. november 2001 - 16:00 #10
Jeg fandt en Delphi demo omkring GetAdaptersInfo mend hvis den ikke virker in WIN)% er det ikke noget værd ......

Anyway .. Jeg må sjusse mig frem ud fra beskrivelsen ...

Jens B
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester