Visual Basic - Obtener puerto del fichero "etcservices"

Life is soft - evento anual de software empresarial
 
Vista:

Obtener puerto del fichero "etcservices"

Publicado por Anonimo (2 intervenciones) el 07/01/2010 17:27:19
¿Cómo se puede obtener en VB6 el puerto de un servicio que se encuentra en el fichero etc/services?

He probado a usar lo siguiente:
'En el modulo
Public Declare Function getservbyname Lib "wsock32.dll" (ByVal serv_name As String, ByVal proto As String) As Long

Public Declare Sub MemCopy Lib "kernel32" Alias "RtlMoveMemory" (Dest As Any, Src As Any, ByVal cb&)

Public Type servent
s_name As Long
s_aliases As Long
s_port As Integer
s_proto As Long
End Type
Public Const servent_size = 14

y en el formulario:
Dim port&
Dim setDestServ As servent

port = getservbyname("Utilitario", "tcp")

If port Then
MemCopy setDestServ, ByVal port, servent_size

MsgBox setDestServ.s_port
end if

Pero el puerto que sale en el msgbox no es el correcto. ¿Me falta hacer algo? ¿Qué hago mal?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder