HOWTO: Use NetBIOS Interrupts Under Windows

ID: Q23033


The information in this article applies to:
  • Microsoft Windows Software Development Kit (SDK) versions 3.0, 3.1


SUMMARY

The Windows SDK API NetBIOSCall() is provided as an interface for application developers using network communication protocols.


MORE INFORMATION

The NetBIOSCall() translates to an interrupt 5Ch call and is handled by the Virtual NetBIOS driver under 386 enhanced mode Windows or by the MS-DOS Extender (DOSX.EXE) under standard mode.

The interface provides for both synchronous and asynchronous NetBIOS commands.

When asynchronous commands are used, there are two rules that an application developer must follow:

  • The POST routine provided to the network control block (NCB) MUST be in a fixed code segment in a DLL (dynamic-link library).

    This is necessary because the asynchronous event could complete while a BIOS operation is in progress. Because the BIOS is used to reload segments, if the event occurred while in the BIOS, it would not be possible to reload a not-present segment. A FIXED code segment in a DLL remains fixed and page-locked in memory at all times.


  • The NCB and associated read or write buffer for asynchronous commands must be allocated as GMEM_FIXED from within a DLL. This ensures that the buffers will be page-locked.


It is recommended that synchronous commands not be used if a comparable asynchronous command is available. Synchronous NetBIOS() commands cause the entire Windows system to halt until the command completes.

Additional query words:

Keywords : kbnetwork kb16bitonly kbAPI kbNetBIOS kbSDKPlatform kbWinOS310 kbWinOS300 kbGrpNet
Version : WINDOWS:3.0,3.1
Platform : WINDOWS
Issue type :


Last Reviewed: November 4, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.