Microsoft KB Archive/320535

From BetaArchive Wiki
Knowledge Base


FIX: The EmulateMTSBehavior registry key does not work as expected under Windows XP

Article ID: 320535

Article Last Modified on 12/5/2007



APPLIES TO

  • Microsoft COM+ 1.5, when used with:
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Home Edition



This article was previously published under Q320535


SYMPTOMS

The EmulateMTSbehavior registry key simulates the Microsoft Transaction Server (MTS) thread pool, with one activity per thread, to a maximum number of 100 threads. This registry key does not work as expected in Microsoft Windows XP. This behavior can lead to unexpected results.

CAUSE

This problem occurs because of two bugs in the Comsvcs.dll file in Windows XP. These bugs prevent the EmulateMTSbehavior registry key to simulate the MTS thread pool. The two bugs are:

  • The activity counter is not incremented. If all the existing threads in the Single Threaded Apartment (STA) pool are busy and then a new activity is created, Comsvcs.dll does not create a new thread.
  • Sometimes a wrong conditional test in Comsvcs.dll prevents the creation of a new thread.


RESOLUTION

To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

322389 How to obtain the latest Windows XP service pack


This problem was first corrected in Windows XP Service Pack Service Pack 1.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

For example, the following behavior occurs:

  • There are nine threads in Single Thread Apartment ( STA) pool.
  • There are 10 activities.
  • The last activity will be redirected to an existing thread instead of to a new one.



Additional query words: kbWinXPCom kbWinXPCom

Keywords: kbbug kbfix kbqfe kbwinxpsp1fix KB320535