Microsoft KB Archive/156479

{|
 * width="100%"|

INFO: Differences Between DLC on Windows 95 and Windows NT

 * }

Q156479

-

The information in this article applies to:


 * Microsoft Win32 Software Development Kit (SDK) for Windows 95

-

SUMMARY
This article describes the major differences between the Win32 Data Link Control (DLC) API as implemented on Windows 95 and Windows NT. It assumes familiarity with the DLC protocol and the relevant specification documents. It also assumes familiarity with the following Microsoft Knowledge Base article that describes the differences between Windows NT DLC and the IBM Specifications for OS/2 1.xx:

"Q156081 Differences between Data Link Control APIs on Windows NT & DOS"

MORE INFORMATION
The differences between Windows 95 and Windows NT DLC are as follows:

The Windows 95 API continues to use the CCB Application ID field. In Windows NT and DLCAPI.H, this field is defined as uchReserved2 in the LCC_CCB structure and is commented as reserved for DLC DLL. A Windows 95 application must use this field as defined for OS/2 EE. That is:


 * Issue a DIR.OPEN.ADAPTER command with this CCB set to zero. The DLC driver will set this field to an Application ID value.
 * This Application ID must be used in subsequent CCB requests by setting uchReserved2 to this value.

This difference is necessary because Windows 95 does not have support for the security mechanisms used by Windows NT in lieu of the application ID.

See The IBM LAN Technical Reference Manual for more information.

The fields uchReserved1 and uchReserved3 must not be used by an application under any circumstances.

NT-specific extensions such as security, multiple processors, or international character strings are not supported.

Windows 95 continues to support the completion method of polling (busy looping) on the CCB's return code (uchDlcStatus in the LLC_CCB structure). This method is not reliable on Windows NT and an application that uses it on Windows 95 may not work on Windows NT.

Windows 95 allows a DIR.STATUS command to be issued before a DIR.OPEN.ADAPTER CCB. NT does not allow this. You should be aware of this when writing cross-platform applications.

Windows 95 does not support:


 * Multiple logical adapters.
 * TRANSMIT.FRAMES.CCB.
 * Direct station support that is global to all applications.

The Windows 95 802.2 implementation does support CCB 1's or a 16-bit DOS interface.

An application must issue a BUFFER.CREATE command before issuing any of the following CCBs:

  BUFFER.FREE              DLC.OPEN.SAP         XMIT.I.FRAME BUFFER.GET              DLC.OPEN.STATION     XMIT.DIR.FRAME DIR.CLOSE.DIRECT        DLC.REALLOCATE       XMIT.TEST.CMD DIR.OPEN.DIRECT         DLC.RESET            XMIT.UI.FRAME DLC.CLOSE.SAP           DLC.STATISTICS       XMIT.XID.CMD DLC.CLOSE.STATION       READ                 XMIT.XID.RESP.FINAL DLC.CONNECT.STATION     READ.CANCEL          XMIT.XID.RESP.NOT.FINAL DLC.FLOW.CONTROL        RECEIVE DLC.MODIFY              RECEIVE.CANCEL