Seite 2 von 2

Re: [Win]NetworkAdapterInterface

Verfasst: 21.10.2009 17:54
von X360 Andy
Funktioniert auch unter WIN7 x86

Nur kann der Typ nicht immer festgestellt werden.
Number 1
--------
Type:
Name: {428DCE5F-5DB5-46E2-8213-3D07821C9859}
Desc: Microsoft Virtual WiFi Miniport Adapter
MAC : 06-22-68-AC-36-54
IPs : 1
IP#1: 0.0.0.0
Subnet#1: 0.0.0.0
Gateway: 0.0.0.0
uses DHCP!
DHCP Server:
DHCP obtained: 01.01.1970 00:00:00
DHCP expires: 01.01.1970 00:00:00

Number 2
--------
Type: Ethernet
Name: {108DF1F9-4BBF-4903-8DD8-0B4EE9350A32}
Desc: TAP-Win32 Adapter V9
MAC : 00-FF-10-8D-F1-F9
IPs : 1
IP#1: 0.0.0.0
Subnet#1: 0.0.0.0
Gateway: 0.0.0.0
uses DHCP!
DHCP Server:
DHCP obtained: 01.01.1970 00:00:00
DHCP expires: 01.01.1970 00:00:00

Number 3
--------
Type: Ethernet
Name: {6240B58F-086D-4A70-8A58-2C0FF1099862}
Desc: Bluetooth Device (Personal Area Network)
MAC : 00-21-86-64-24-79
IPs : 1
IP#1: 0.0.0.0
Subnet#1: 0.0.0.0
Gateway: 0.0.0.0
uses DHCP!
DHCP Server:
DHCP obtained: 01.01.1970 00:00:00
DHCP expires: 01.01.1970 00:00:00

Number 4
--------
Type:
Name: {64F5BC3A-F12B-45D3-BEC4-D155B685C6B2}
Desc: Atheros AR5007 802.11b/g WiFi Adapter
MAC : 00-22-68-AC-36-54
IPs : 1
IP#1: 192.168.2.103
Subnet#1: 255.255.255.0
Gateway: 192.168.2.1
uses DHCP!
DHCP Server: 192.168.2.1
DHCP obtained: 21.10.2009 12:20:34
DHCP expires: 21.10.2009 12:20:33

Number 5
--------
Type: Ethernet
Name: {0585CF48-353A-4339-99CD-A153B258AB02}
Desc: Realtek PCIe GBE Family Controller
MAC : 00-1E-EC-83-FE-CA
IPs : 1
IP#1: 0.0.0.0
Subnet#1: 0.0.0.0
Gateway: 0.0.0.0
uses DHCP!
DHCP Server:
DHCP obtained: 01.01.1970 00:00:00
DHCP expires: 01.01.1970 00:00:00

Re: [Win]NetworkAdapterInterface

Verfasst: 22.10.2009 10:37
von HeX0R
Hmm... welcher Typ wäre denn das dann?
Eigentlich sind keine anderen Typen definiert.

Füge mal das hier zu der TypeToString()-Prozedur dazu:

Code: Alles auswählen

Default : Result = Str(Type)

Re: [Win]NetworkAdapterInterface

Verfasst: 22.10.2009 13:55
von X360 Andy
Bei beiden ohne Type bekomme ich die Zahl 71 zurück als Type

Re: [Win]NetworkAdapterInterface

Verfasst: 22.10.2009 18:47
von HeX0R
Ah ja, das wäre dann IF_TYPE_IEEE80211, was aber laut MSDN nur bei GetAdaptersAddresses() als Rückgabewert vorkommen sollte.

Sind sich wohl selbst nicht so im klaren ;)

[Edit]
O.k., ich hab die Typen von IP_ADAPTER_ADDRESSES noch der vollständigkeithalber hinzugefügt.
(Da die Klartextumwandlung im Beispielcode ist, wurde der auch angepasst)

Re: [Win]NetworkAdapterInterface

Verfasst: 14.09.2010 21:24
von ts-soft
Unter x64 sind sämtliche IPs leer, sieht man auch in der Bestätigung von Fluid Byte hier:
http://www.purebasic.fr/german/viewtopi ... 15#p258815

It doesn't würgs nau

Gruß
Thomas

Re: [Win]NetworkAdapterInterface

Verfasst: 21.09.2010 14:45
von HeX0R
Hoppla,

da hab ich dich glatt übersehen.
Werde mir das bei Gelegenheit mal anschauen, dazu muss ich aber erst an meinen Rechner ran.
Das kann noch zwei Wochen dauern.

Re: [Win]NetworkAdapterInterface

Verfasst: 26.09.2010 21:35
von HeX0R
Also irgendwie...

Das war jetzt schwieriger als erwartet und verstehen kann ich es erst nicht.
Ein DWORD ist doch eigentlich eindeutig 4 Bytes lang, egal ob x64 oder x86?
Trotzdem musste ich das Context in IP_ADDR_STRING (angeblich ein DWORD) von LONG in INTEGER ändern.

Dann habe ich mich noch durch Trial and Error zu folgenden zwei universal Strukturen (also x64 und x86) gehangelt
und die Ergebnisse scheinen auch korrekt.

Seltsam das...
Vielleicht steckt der Fehler auch irgendwo anders, kann nicht mal ein API-Guru sich das mal genauer anschauen?

Die beiden Strukturen IP_ADDR_STRING und IP_ADAPTER_INFO mit diesen hier ersetzen (hab ich im Original schon erledigt)

Code: Alles auswählen

Structure IP_ADDR_STRING
	*Next
	IpAddress.b[16]
	IpMask.b[16]
	Context.i
EndStructure

Structure IP_ADAPTER_INFO
	*Next
	ComboIndex.l
	AdapterName.b[#MAX_ADAPTER_NAME_LENGTH + 4]
	Description.b[#MAX_ADAPTER_DESCRIPTION_LENGTH + 4]
	AddressLength.l
	Address.b[#MAX_ADAPTER_ADDRESS_LENGTH]
	Index.l
	Type.l
	DhcpEnabled.i
	*CurrentIpAddress.IP_ADDR_STRING
	IpAddressList.IP_ADDR_STRING
	GatewayList.IP_ADDR_STRING
	DhcpServer.IP_ADDR_STRING
	HaveWins.i
	PrimaryWinsServer.IP_ADDR_STRING
	SecondaryWinsServer.IP_ADDR_STRING
	LeaseObtained.i
	LeaseExpires.i
EndStructure