DOCUMENT:Q148163 13-JUN-2001 [sna] TITLE :INFO: SLI Interface Enhancement for Receiving Large Chains PRODUCT :Microsoft SNA Server PROD/VER:WINDOWS:2.11 SP1 OPER/SYS: KEYWORDS:kbnetwork ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft SNA Server, version 2.11 SP1, on platform(s): - the operating system: Microsoft Windows NT ------------------------------------------------------------------------------- SUMMARY ======= If an LUA SLI application issues an SLI_RECEIVE request and passes a data buffer that is smaller than the size of the chain being received, the SLI interface returns a primary_rc of LUA_UNSUCCESSFUL and secondary_rc = LUA_DATA_TRUNCATED. The SLI library returns as much data as possible to the application's data buffer, but the remaining data in the chain is lost and cannot be extracted on subsequent SLI_RECEIVE requests. This forces the SLI application to allocate an SLI_RECEIVE data buffer large enough to handle the full chain size. Microsoft has enhanced the SNA Server 2.11 32-bit Windows LUA SLI interface so an application does not have to preallocate the full buffer size when receiving data using the SLI_RECEIVE API. MORE INFORMATION ================ This new feature is enabled with an update of the WINSLI32.DLL and the SNATRC.DLL. To enable this new feature, the Windows application must set the resv56[3] byte to 0x01 on the SLI_OPEN call. With this byte set, if the application issues SLI_RECEIVE and specifies a data buffer which is smaller than the chain of data to be received, SLI_RECEIVE returns with a primary_rc of LUA_OK and a secondary_rc of LUA_DATA_INCOMPLETE (0x00000060). The next SLI_RECEIVE returns the rest of the data for that chain, or as much as there is space in the receive buffer. If the SLI_OPEN does not have the resv56[3] byte set to 0x01, then the SLI_RECEIVE is supported normally. In this case if an SLI_RECEIVE is issued with a buffer smaller than the chain of data received from the host then the SLI_RECEIVE returns with primary_rc = LUA_UNSUCCESFUL, and the secondary_rc = LUA_DATA_TRUNCATED (0x00000003). The remainder of data for that chain is discarded by the SLI library. This feature is included in the latest Microsoft SNA Server version 2.11 U.S. Service Pack. For information on obtaining the service pack, query on the following word in the Microsoft Knowledge Base (without the spaces): S E R V P A C K Additional query words: prodsna ====================================================================== Keywords : kbnetwork Technology : kbAudDeveloper kbSNAServSearch Version : WINDOWS:2.11 SP1 Issue type : kbinfo ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.