Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Calling Netbios in Windows 2000

Status
Not open for further replies.

Guest_imported

New member
Jan 1, 1970
0
We're trying to convert our winnt 4.0 sp5 programs to run on Windows 2000. The tcpip programs run no problem. The Netbios are having problems. We still running MF cobol 4.0. The program gets an out of bounds message. Here's a sample of some simple code we use for testing. This one sends a datagram.

Thanks for the help.

Rob

$SET ANS85 MF OSVS
$SET OPTSPEED
$SET WARNING(1)
$SET PERFORM-TYPE"OSVS"
*SET DefaultByte"00"
$SET Case
IDENTIFICATION DIVISION.
PROGRAM-ID. senddg.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-PC.
OBJECT-COMPUTER. IBM-PC.
SPECIAL-NAMES.
CALL-CONVENTION 66 IS WINAPI.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 my-name.
05 filler pic x(04) value 'send'.
05 my-name-vari pic x(12) value space.



01 cob32api pic x(12) value "cob32api.dll".
01 netapi32 pic x(12) value "netapi32.dll".
01 netbios pic x(07) value "Netbios".
01 ncb-init.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 9(09) comp-5 value 0.
05 filler pic 9(04) comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 9(09) comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.
05 filler pic 99 comp-5 value 0.

01 network-control-block.
05 ncb-command pic 99 comp-5.
05 ncb-retcode pic 99 comp-5.
05 ncb-lsn pic 99 comp-5.
05 ncb-num pic 99 comp-5.
05 ncb-buffer-address pointer.
05 ncb-length pic 9(04) comp-5.
05 ncb-callname.
15 ncb-callname-00 pic 99 comp-5.
15 ncb-callname-01 pic 99 comp-5.
15 ncb-callname-02 pic 99 comp-5.
15 ncb-callname-03 pic 99 comp-5.
15 ncb-callname-04 pic 99 comp-5.
15 ncb-callname-05 pic 99 comp-5.
15 ncb-callname-06 pic 99 comp-5.
15 ncb-callname-07 pic 99 comp-5.
15 ncb-callname-08 pic 99 comp-5.
15 ncb-callname-09 pic 99 comp-5.
15 ncb-callname-10 pic 99 comp-5.
15 ncb-callname-11 pic 99 comp-5.
15 ncb-callname-12 pic 99 comp-5.
15 ncb-callname-13 pic 99 comp-5.
15 ncb-callname-14 pic 99 comp-5.
15 ncb-callname-15 pic 99 comp-5.
05 ncb-name.
15 ncb-name-00 pic 99 comp-5.
15 ncb-name-01 pic 99 comp-5.
15 ncb-name-02 pic 99 comp-5.
15 ncb-name-03 pic 99 comp-5.
15 ncb-name-04 pic 99 comp-5.
15 ncb-name-05 pic 99 comp-5.
15 ncb-name-06 pic 99 comp-5.
15 ncb-name-07 pic 99 comp-5.
15 ncb-name-08 pic 99 comp-5.
15 ncb-name-09 pic 99 comp-5.
15 ncb-name-10 pic 99 comp-5.
15 ncb-name-11 pic 99 comp-5.
15 ncb-name-12 pic 99 comp-5.
15 ncb-name-13 pic 99 comp-5.
15 ncb-name-14 pic 99 comp-5.
15 ncb-name-15 pic 99 comp-5.
05 ncb-rto pic 99 comp-5.
05 ncb-sto pic 99 comp-5.
05 ncb-post-address pointer.
05 ncb-lana-num pic 99 comp-5.
05 ncb-cmd-cplt pic 99 comp-5.
05 ncb-reserve occurs 14 times
pic 99 comp-5.

*****************************************************************
* Netbios Commands - All types *
*****************************************************************
78 free-resources value 1.
78 net-reset value h"32".
78 net-add-name value h"30".
78 net-delete-name value h"31".
78 net-add-group-name value h"36".
78 net-find-name value h"78".
78 net-send-datagram value h"20".
78 net-receive-datagram value h"21".
78 net-send-bcast-datagram value h"22".
78 net-receive-bcast-datagram value h"23".
78 net-call value h"10".
78 net-listen value h"11".
78 net-hang-up value h"12".
78 net-send value h"14".
78 net-receive value h"15".
78 net-receive-any value h"16".
78 net-chain-send value h"17".
78 net-session-status value h"34".
78 net-send-ack value h"71".
78 net-chain-send-no-ack value h"72".
78 net-call-nw value h"90".
78 net-listen-nw value h"91".
78 net-hang-up-nw value h"92".
78 net-send-nw value h"94".
78 net-receive-nw value h"95".
78 net-receive-any-nw value h"96".
78 net-chain-send-nw value h"97".
78 net-session-status-nw value h"B4".
78 net-send-ack-nw value h"F1".
78 net-chain-send-no-ack-nw value h"F2".
78 net-add-name-nw value h"B0".
78 net-delete-name-nw value h"B1".
78 net-add-group-name-nw value h"B6".
78 net-find-name-nw value h"F8".
78 net-send-datagram-nw value h"A0".
78 net-receive-datagram-nw value h"A1".
78 net-send-bcast-datagram-nw value h"A2".
78 net-receive-bcast-datagram-nw value h"A3".


PROCEDURE DIVISION WINAPI.
* Set Cobol api.
CALL 'COB32API'.

*load the netapi32.dll for use
CALL netapi32 USING BY REFERENCE NETWORK-CONTROL-BLOCK.

move 'myname' to my-name-vari.

******************************************************************
* ALLOCATE NETBIOS RESOURCES *
******************************************************************
MOVE NCB-INIT TO NETWORK-CONTROL-BLOCK.
MOVE NET-RESET TO NCB-COMMAND.
MOVE H'02' TO NCB-CALLNAME-00.
MOVE H'02' TO NCB-CALLNAME-01.
MOVE H'01' TO NCB-CALLNAME-02.
CALL WINAPI NETBIOS USING
BY REFERENCE NETWORK-CONTROL-BLOCK.
DISPLAY ncb-retcode ' reset'.
******************************************************************
* ADD NAME *
******************************************************************
MOVE my-name TO NCB-NAME.
MOVE NET-ADD-NAME TO NCB-COMMAND.
CALL WINAPI NETBIOS USING
BY REFERENCE NETWORK-CONTROL-BLOCK.
DISPLAY ncb-retcode ' add name'.

MOVE LENGTH OF WS30-NAME(2) TO NCB-LENGTH
MOVE WS30-NAME(1) TO NCB-CALLNAME
SET NCB-BUFFER-ADDRESS TO ADDRESS
OF WS30-NAME(2)
MOVE NET-SEND-DATAGRAM TO NCB-COMMAND
CALL WINAPI NETBIOS USING
BY REFERENCE NETWORK-CONTROL-BLOCK.
DISPLAY ncb-retcode ' send '.
stop run.



 
A quick update. If I copy and rename the netapi32.dll from the nt4 workstation to the nt 2000 workstation, then call the copied dll (nt4 version) to load the dll it'll work.

But I'm still looking for anyone running netbios in 2000 without any "tricks".

Thanks,
Rob
 
Under Windows 2000 Netbios is not installed by default.

Under Windows XP I could not find a way to install it - NETBUI is no longer supported.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top