RUI_READ Stops When Processing Buffers Larger Than 3 KBLast reviewed: April 17, 1997Article ID: Q162626 |
The information in this article applies to:
SYMPTOMSAn RUI_READ (immediate) will stop when an RU size is greater than 3 KB. No errors are generated; however, the application does not respond.
CAUSEWhen 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.
RESOLUTIONA 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) STATUSMicrosoft 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
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |