Option explicit Private const ncbastat = & h33 Private const ncbnamsz = 16 Private const heap_zero_memory = & H8 Private const heap_generate_exceptions = & h4 Private const ncbreset = & H32 Private type NCB Ncb_command as byte 'integer Ncb_retcode as byte 'integer Ncb_lsn as byte 'integer Ncb_num as byte 'integer Ncb_buffer as long 'string Ncb_length as integer Ncb_callname as string * ncbnamsz Ncb_name as string * ncbnamsz Ncb_rto as byte 'integer Ncb_sto as byte 'integer Ncb_post as long Ncb_lana_num as byte 'integer Ncb_1__cplt as byte 'integer Ncb_reserve (9) as byte 'reserved, must be 0 Ncb_event as long End type Private type adapter_status Adapter_address (5) as byte 'as string * 6 Rev_major as byte 'integer Reserved0 as byte 'integer Adapter_type as byte 'integer Rev_minor as byte 'integer 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_eclip_sess as integer Max_sess as integer Max_sess_pkt_size as integer Name_count as integer End type Private type name_buffer Name as string * ncbnamsz Name_num as integer Name_flags as integer End type Private type astat Adapt as adapter_status Namebuff (30) as name_buffer End type Private declare function NetBIOS lib "netapi32.dll" (PNCB as NCB) as byte Private declare sub copymemory lib "Kernel32" alias "rtlmovememory "_ (Hpvdest as any, byval hpvsource as long, byval cbcopy as long) Private declare function getprocessheap lib "Kernel32" () as long Private declare function heapalloc lib "Kernel32 "_ (Byval hheap as long, byval dwflags as long ,_ Byval dwbytes as long) as long Private declare function heapfree lib "Kernel32" (byval hheap as long ,_ Byval dwflags as long, lpmem as any) as long |