Inlocuire NetBios()

Acest forum este dedicat intrebarilor de Windows API, folosing C/C++
Post Reply
User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Inlocuire NetBios()

Post by Silviu Ardelean » 22 Jan 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().



User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Inlocuire NetBios()

Post by Silviu Ardelean » 22 Jan 2010, 19:45

De fapt, cred ca getnameinfo() este ceea ce caut. :)

User avatar
cristianamarie
Membru++
Membru++
Posts: 480
Joined: 12 Mar 2009, 18:47
Judet: Iaşi
Location: Iasi

Re: Inlocuire NetBios()

Post by cristianamarie » 23 Jan 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

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Inlocuire NetBios()

Post by Silviu Ardelean » 23 Jan 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:

User avatar
Silviu Ardelean
Senior
Senior
Posts: 1175
Joined: 12 Jul 2007, 09:22
Judet: Timiş
Location: Timisoara
Contact:

Re: Inlocuire NetBios()

Post by 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:

Code: Select all

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?

Post Reply