TP_IDs and CONV_Ids cannot be shared across Windows processes (152012)



The information in this article applies to:

  • Microsoft SNA Server 2.0
  • Microsoft SNA Server 2.1
  • Microsoft SNA Server 2.11
  • Microsoft SNA Server 3.0
  • Microsoft SNA Server 4.0
  • the operating system: Microsoft Windows NT
  • Microsoft Host Integration Server 2000
  • Microsoft Host Integration Server 2000 SP1

This article was previously published under Q152012
When you use the SNA Server 16-bit or 32-bit Windows APPC interface, the APPC transaction program ID (TP_ID) and conversation ID (CONV_ID) parameters are only valid from the Windows process (or task) that created them. For example, if a 16-bit Windows APPC application receives a TP_ID by calling TP_STARTED, and a CONV_ID by calling [MC_]ALLOCATE, the TP_ID and CONV_ID are invalid if used by a different 16-bit Windows process. If another process tries to use these parameters when calling the APPC interface, the following APPC errors will occur:
primary_rc = AP_PARAMETER_CHECK (0x0001)
secondary_rc = AP_BAD_TP_ID (0x00000001)
primary_rc = AP_PARAMETER_CHECK (0x0001)
secondary_rc = AP_BAD_CONV_ID (0x00000002)
SNA Server 32-bit Windows applications that call TP_STARTED and [MC_]ALLOCATE may appear to receive the same TP_ID and CONV_ID values. However, the underlying SNA Server APPC interface recognizes these values as unique because they are created by different process IDs.

Modification Type:MajorLast Reviewed:5/17/2004
Keywords:kbnetwork kbprogramming KB152012