We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

Winsock2 call : gethostbyname() in Visual Basic

Medium Priority
845 Views
Last Modified: 2013-11-25
the socket call gethostbyname() have the following
structure:

/********************************/
struct hostent FAR *
gethostbyname(
    const char FAR * name
    );
/*******************************/
so it involves returning a pointer to a UDT, how do I do this in Visual Basic?
I can return the value as BYTE, that doesn't seem to get
me anymore.
any code will be appreciated.
Comment
Watch Question

Commented:
Check out MSKB #Q160215 located at:
http://support.microsoft.com/support/kb/articles/q160/2/15.asp

Basically here's the declares and calls:
Private Declare Function gethostname Lib "WSOCK32.DLL" (ByVal hostname$, HostLen&) As Long
Private Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal hostname$) As Long

   Dim hostname As String * 256
   Dim hostent_addr As Long
  If gethostname(hostname, 256) = SOCKET_ERROR Then
    MsgBox "Windows Sockets error " & Str(WSAGetLastError())
    Exit Sub
  Else
    hostname = Trim$(hostname)
  End If
  hostent_addr = gethostbyname(hostname)

Author

Commented:
You're returning a long, where does that get me? I want the HOSTENT structure it returned. Maybe You misunderstood the question.

Commented:
He had it right, but the pasted text from that article got cut. Rather than me just repaste it here, you should go to the URL clifABB gave, it has an entire example program that does precisely what you want. hostent_addr is a long which holds a pointer to the HOSTENT structure which is then passed to  RtlMoveMemory to copy the structure returned from gethostbyname() into a UDT.

Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview

Author

Commented:
ohhh, ok, stupid me. I guess ClifABB deserve some points. But I like alamo's comment better, explain things. oh well. more points next time.

Author

Commented:
ohhh, ok, stupid me. I guess ClifABB deserve some points. But I like alamo's comment better, explain things. oh well. more points next time. Thanks to all.
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.