try this, you may not need it all................

Code:
'Name Flags
Public Const NAME_FLAGS_MASK = &H87
Public Const GROUP_NAME = &H80
Public Const UNIQUE_NAME = &H0
Public Const REGISTERING = &H0
Public Const REGISTERED = &H4
Public Const DEREGISTERED = &H5
Public Const DUPLICATE = &H6
Public Const DUPLICATE_DEREG = &H7

Public Const NCBNAMSZ = 16
Public Const HEAP_ZERO_MEMORY = &H8
Public Const HEAP_GENERATE_EXCEPTIONS = &H4
Public Const NCBENUM = &H37
Public Const NCBRESET = &H32
Public Const NCBASTAT = &H33


Public Type NTWRKCNTRLBLCK
    ncb_command As Byte
    ncb_retcode As Byte
    ncb_lsn As Byte
    ncb_num As Byte
    ncb_buffer As Long
    ncb_length As Integer
    ncb_callname(0 To 15) As Byte
    ncb_name(0 To 15) As Byte
    ncb_rto As Byte
    ncb_sto As Byte
    lpFunc As Long
    ncb_lana_num As Byte
    ncb_cmd_cplt As Byte
    ncb_reserve(0 To 9) As Byte
    ncb_event As Long
End Type


Public Type LANA_ENUM
    Length As Byte
    lana(0 To 256) As Byte
End Type


Public Type ADAPTER_STATUS
    adapter_address(0 To 5) As Byte
    rev_major As Byte
    reserved0 As Byte
    adapter_type As Byte
    rev_minor As Byte
    duration As Integer
    frmr_recv As Integer
    frmr_xmit As Integer
    iframe_recv_err As Integer
    xmit_aborts As Integer
    xmit_success As Long
    recv_success As Long
    iframe_xmit_err As Integer
    recv_buff_unavail As Integer
    t1_timeouts As Integer
    ti_timeouts As Integer
    reserved1 As Long
    free_ncbs As Integer
    max_cfg_ncbs As Integer
    max_ncbs As Integer
    xmit_buf_unavail As Integer
    max_dgram_size As Integer
    pending_sess As Integer
    max_cfg_sess As Integer
    max_sess As Integer
    max_sess_pkt_size As Integer
    name_count As Integer
End Type

Public Type NAME_BUFFER
    name_(0 To 15) As Byte
    name_num As Byte
    name_flags As Byte
End Type

Public Type NET_STATUS
    Adapter As ADAPTER_STATUS
    NameBuffer(30) As NAME_BUFFER
End Type
       
Public Type DiskInformation
    lpSectorsPerCluster As Long
    lpBytesPerSector As Long
    lpNumberOfFreeClusters As Long
    lpTotalNumberOfClusters As Long
End Type


Public Declare Function NetBios Lib "netapi32.dll" Alias "Netbios" _
        (ByRef pncb As NTWRKCNTRLBLCK) As Byte

Public Declare Function VarPtr Lib "MSVBVM50.DLL" (pVoid As Any) As Long

Public Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" _
        (ByVal lpRootPathName As String, _
        lpSectorsPerCluster As Long, _
        lpBytesPerSector As Long, _
        lpNumberOfFreeClusters As Long, _
        lpTotalNumberOfClusters As Long) As Long

Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _
        (ByVal nDrive As String) As Long

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
          hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)

Public Declare Function GetProcessHeap Lib "kernel32" () As Long

Public Declare Function HeapAlloc Lib "kernel32" _
          (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long

Public Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, _
          ByVal dwFlags As Long, lpMem As Any) As Long


Public Sub GetMacAddr()
'
'
Dim NCB As NTWRKCNTRLBLCK, Status As NET_STATUS, LanEnum As LANA_ENUM
Dim bReturn As Byte, sMacAddress As String, i As Integer, sHex As String, l%
Dim k%, iNumNames%, j%, m%, sName$, iPos%, nFlags%
    
    NCB.ncb_command = NCBENUM
    NCB.ncb_buffer = VarPtr(LanEnum)
    NCB.ncb_length = LenB(LanEnum)
    bReturn = NetBios(NCB)
    l = LanEnum.Length

    If l > 0 Then
        For k = 0 To l
            NCB.ncb_command = NCBRESET
            NCB.ncb_lana_num = LanEnum.lana(k)
            bReturn = NetBios(NCB)
            
            NCB.ncb_command = NCBASTAT
            NCB.ncb_lana_num = LanEnum.lana(k)
            NCB.ncb_callname(0) = 42 'Max number of sessions 42

            For i = 1 To 14
                NCB.ncb_callname(i) = 32 'Max number of names 32, Use NAME_NUMBER_1
            Next i
            
            NCB.ncb_callname(15) = 0
            NCB.ncb_buffer = VarPtr(Status)
            NCB.ncb_length = LenB(Status)
            bReturn = NetBios(NCB)
            strNet = strNet & "Network #" & Hex$(k) & vbCrLf & Chr$(9)
            sMacAddress = ""

            For i = 0 To 5
                sHex = Hex(Status.Adapter.adapter_address(i))
                If Len(sHex) = 1 Then sHex = "0" & sHex
                sMacAddress = sMacAddress & sHex
                If i <> 5 Then sMacAddress = sMacAddress + "-"
            Next i
            
            strNet = strNet & "Mac Address = " & UCase(sMacAddress) & vbCrLf & Chr$(9)
            strNet = strNet & "Adapter Type = " & Hex$(Status.Adapter.adapter_type) & vbCrLf & Chr$(9)
            strNet = strNet & vbCrLf
            
        Next k
    End If

End Sub