Inlocuire NetBios()

Acest forum este dedicat intrebarilor de Windows API, folosing C/C++

Inlocuire NetBios()

Mesajde Silviu Ardelean » 22 Ian 2010, 16:00

NetBios() din WinAPI este deprecated si nu mai e suportata pe OS-urile de la Vista in sus: "Netbios is not supported on Windows Vista, Windows Server 2008, and subsequent versions of the operating system".

Ce alternativa din WinAPI recomandati pentru obtinerea numelui si ip-ului unei statii?
Eu ma gandeam la getaddrinfo().
Avatar utilizator
Silviu Ardelean
Membru++
Membru++
 
Mesaje: 938
Membru din: 12 Iul 2007, 09:22
Localitate: Timisoara

Re: Inlocuire NetBios()

Mesajde Silviu Ardelean » 22 Ian 2010, 19:45

De fapt, cred ca getnameinfo() este ceea ce caut. :)
Avatar utilizator
Silviu Ardelean
Membru++
Membru++
 
Mesaje: 938
Membru din: 12 Iul 2007, 09:22
Localitate: Timisoara

Re: Inlocuire NetBios()

Mesajde cristianamarie » 23 Ian 2010, 12:12

NetWkstaGetInfo pentru workstation info (name).
NetWkstaTransportEnum (probabil) si in WKSTA_TRANSPORT_INFO_0 verifici wkti0_wan_ish sa fie true, si apoi nu mai stiu, probabil te uiti la wkti0_transport_name/wkti0_transport_address.
Altfel, da, GetAddrInfoEx, getaddrinfo, pe acolo.
Nuclear launch detected
Avatar utilizator
cristianamarie
Membru++
Membru++
 
Mesaje: 292
Membru din: 12 Mar 2009, 18:47
Localitate: Iasi

Re: Inlocuire NetBios()

Mesajde Silviu Ardelean » 23 Ian 2010, 12:27

Ca sa fiu mai clar, ma interesa sa obtin numele unui calculator din retea, cunoscand-i IP-ul. Pana acum foloseam NetBios() dar vreau sa renunt la ea.
getnameinfo() merge struna. Din pacate, GetAddrInfoEx() merge doar de la Vista sau Win2k8 in sus.
Cristi, oricum, mersi fain! :thumbup:
Avatar utilizator
Silviu Ardelean
Membru++
Membru++
 
Mesaje: 938
Membru din: 12 Iul 2007, 09:22
Localitate: Timisoara

Re: Inlocuire NetBios()

Mesajde Silviu Ardelean » 15 Feb 2010, 19:18

Mi-am facut un tool care foloseste getnameinfo() pentru a obtine numele statiilor cautandu-le intr-un range de IP-uri.
M-a surprins ca obtineam in fereastra de output din debug:
Cod: Selectaţi tot
First-chance exception at 0x77d67ded (kernel32.dll) in scanComputersName.exe: 0x000006BA: The RPC server is unavailable.

E obtinut la fiecare IP din range ptr. care nu exista corespondent real.

La o prima vedere, de pe site-ul nu pare a fi ceva grav.
http://support.microsoft.com/kb/884564
http://support.microsoft.com/kb/257187
Pareri?
Avatar utilizator
Silviu Ardelean
Membru++
Membru++
 
Mesaje: 938
Membru din: 12 Iul 2007, 09:22
Localitate: Timisoara


Înapoi la Windows API

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator