RUI_READ Stops When Processing Buffers Larger Than 3 KB

ID: Q162626


The information in this article applies to:
  • Microsoft SNA Server, versions 2.0, 2.1, 2.11, 2.11 SP1, 3.0


SYMPTOMS

An RUI_READ (immediate) will stop when an RU size is greater than 3 KB. No errors are generated; however, the application does not respond.


CAUSE

When an application has issued an RUI_BID verb, the WINRUI32 library will post the verb as soon as 12 or more bytes of RU data are available to return to the application. Normally, due to the nature of the message- passing mechanism between SNA Server and the RUI library, this means that the complete RU has been received by the RUI library, and when the application issues a subsequent RUI_READ(immediate), the RUI_READ will complete successfully.

However, when the RU size on the session exceeds a certain size (just over 3 KB), SNA Server will split the messages it sends to the RUI library into smaller blocks. The RUI library, however, continues to complete the RUI_BID when it receives the first block of a new RU. If the application issues an RUI_READ(immediate) before the remainder of the RU arrives, the RUI_READ will complete with a return code of UNSUCCESSFUL. This will confuse any application that (rightly) expects all the data to be available when the RUI_BID is posted.


RESOLUTION

A fix to the RUI library has been created to prevent it from posting an RUI_BID until all the blocks of a large RU have been received. Updated files:

Windows NT: <Snaroot>\System\Winrui32.dll
Windows 95: <Winroot>\System\Winrui32.dll
Windows 3.x: <Winroot>\System\Winrui.dll
OS/2: <Snaroot>\System\Rui.dll
MS-DOS: <Snaroot>\Dosacs.lib (application must be relinked)


STATUS

Microsoft has confirmed this to be a problem in SNA Server versions 2.0, 2.1, 2.11, 2.11 Service Pack 1, and 3.0.

Additional query words: prodsna

Keywords : kbnetwork snalua kbbug2.00 kbbug3.00 kbbug2.10 kbbug2.11.sp1
Version : WINDOWS:2.0,2.1,2.11,2.11 SP1,3.0
Platform : WINDOWS
Issue type :


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