Hola, tengo este codigo:
Dim ip(0 To 3) As Byte
Dim var As String
Call CopyMemory(ip(0), dwlocaladdr, Len(dwlocaladdr))
var = ip(0) & "." & ip(1) & "." & ip(2) & "." & ip(3)
dwlocaladdr es una variable Long miembro de una estructura MIB_TCPROW que contiene una direccion IP, y ese codigo convierte el contenido de esa variable a un formato legible (xxx.xxx.xxx.xxx).
1.- Por qué ip se declara como un array Byte de 4 bytes si se podria declarar como Long que tambien es de 4 bytes, pero si la declaro como Long, no funciona y no se por qué.
2.- Cuando ejecuto CopyMemory y copio dwlocaladdr a ip(0), los otros indices de ip (ip(1), ip(2), ip(3)) tambien pasan a contener valores, cosa que tampoco entiendo, ya que la funcion copia sólo a ip(0).
3.- Por qué despues de ejecutar CopyMemory, cada indice de ip pasa a tener una parte de la direccion IP, si el valor de dwlocaladdr es un numero totalmente diferente?
Alguna ayuda?
Saludos.