FIX: Link Failures with Non-Default Calling Conventions (156398)



The information in this article applies to:

  • Microsoft Transaction Server 1.0

This article was previously published under Q156398

SYMPTOMS

If the default calling convention for the compiler you are using is something other than __cdecl, you will receive link errors when you use the GetObjectContext and SafeRef functions.

CAUSE

The function prototypes for GetObjectContext and SafeRef are not explicit in their calling conventions.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Transaction Server version 1.0. This problem was corrected in Microsoft Transaction Server version 1.1.

For information on obtaining version 1.1 or version 2.0, please see the following articles in the Microsoft Knowledge Base:

168031 HOWTO: Obtain Microsoft Transaction Server Version 1.1

185174 Latest Version of Microsoft Transaction Server

MORE INFORMATION

The following function calls
   extern HRESULT GetObjectContext (IObjectContext** ppInstanceContext);
   extern void * SafeRef(REFIID rid, IUnknown* pUnk);
				
Have been changed to:
   extern HRESULT __cdecl GetObjectContext (IObjectContext**
   ppInstanceContext);
   extern void* __cdecl SafeRef(REFIID rid, IUnknown* pUnk);
				

Modification Type:MinorLast Reviewed:3/21/2005
Keywords:kbBug kbDSupport kberrmsg kbMTS110fix KB156398