Microsoft KB Archive/173398

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Knowledge Base


SNA Win 3.x Application Fails over WinNT Client Thunking DLLs

Article ID: 173398

Article Last Modified on 6/28/2004



APPLIES TO

  • Microsoft SNA Server 2.11 Service Pack 1
  • Microsoft SNA Server 2.11 Service Pack 2
  • Microsoft SNA Server 4.0
  • Microsoft SNA Server 3.0 Service Pack 2
  • Microsoft SNA Server 3.0 Service Pack 3
  • Microsoft SNA Server 3.0 Service Pack 4



This article was previously published under Q173398

SYMPTOMS

An SNA Server 16-bit Windows application fails to work over the SNA Server Windows NT client software configured with the 16-bit to 32-bit SNA API thunking DLLs. However, the same application works fine over the SNA Server Windows 3.x client software.

The following errors messages may appear only when you run the Windows application over the following SNA API thunking DLLs:

  • If the APPC API is being used (over Winappc.dll), TP_STARTED fails with:

    primary_rc = 0xF004 (AP_COMM_SUBSYSTEM_NOT_LOADED)
    secondary_rc = 0xCCCCCCCC (undefined)

  • If the CPIC API is being used (over Wincpic.dll), any CPIC function fails with Error 20 (CM_PRODUCT_SPECIFIC_ERROR). Note that this error can also be due to other problems documented in Knowledge Base article 132720.
  • If the LUA RUI or SLI API is being used (over Winrui.dll or Winsli.dll), the following error message displays:

    primary_rc = 0xF004 (LUA_COMM_SUBSYSTEM_NOT_LOADED)
    secondary_rc = 0xFFFFFFFF (undefined)

  • If the Common Service Verb API is being used (over Wincsv.dll), the following error message displays:

    primary_rc = 0xF004 (LUA_COMM_SUBSYSTEM_NOT_LOADED)
    secondary_rc = 0xFFFFFFFF (undefined)

For instructions on how to enable the 16-bit to 32-bit SNA API thunking DLLs, see the following Knowledge Base article:

107571 Running SNA Server Win16, OS/2, or MS-DOS Applications


CAUSE

When running over the SNA Server Windows NT client thunking DLLs, the 16-bit Windows application must first initialize the API interface by calling the appropriate WinXXXXStartup call before attempting to use any function. The thunking DLL initializes the Snahlp32.dll and 32-bit SNA API DLLs (Wappc32.dll, Wcpic32.dll, Winrui32.dll, Winsli32.dll, and Wincsv32.dll) only after the appropriate WinXXXXStartup function has been called.

Refer to the relevant SNA Server API programmer's guide for a description of WinAPPCStartup, WinCPICStartup, WinRUIStartup, WinSLIStartup, and WinCSVStartup calls. Each API reference states the requirement to call this function first, in order to initialize the API interface.

RESOLUTION

The 16-bit Windows application should be modified so that the appropriate WinXXXXStartup call is issued before using any API function supported by that interface.


Additional query words: win16 win3x thunk

Keywords: kbprb KB173398