Microsoft KB Archive/812402

= FIX: A COMTI component generates an access violation when it receives unbounded recordsets in a Variant variable =

Article ID: 812402

Article Last Modified on 2/21/2007

-

APPLIES TO


 * Microsoft Host Integration Server 2000 Standard Edition
 * Microsoft Host Integration Server 2000 Service Pack 1

-



SYMPTOMS
When you configure a Microsoft COM Transaction Integrator (COMTI) component to return an unbounded recordset as an output parameter, and the calling program has defined the variable for the parameter as a Variant data type, an access violation occurs. An error message that is similar to the following is logged in the application event log:

Event Type: Error

Event Source: COM+

Event Category: SVC

Event ID: 4194

Description: The system has called a custom component and that component has failed and generated an exception. This indicates a problem with the custom component. Notify the developer of this component that a failure has occurred and provide them with the information below.

Component Prog ID:

Server Application ID: {55A2D3E5-C3AF-4D16-A561-DDE08F77B4C9}

Server Application Name: A CedarBank Sample

The serious nature of this error has caused the process to terminate.

Exception: C0000005

Address: 0x0111C9FE Call Stack:

tagen!CStateMachObject::ProcessInboundRecordset(long,unsigned int,

class ATL::CComVariant *,struct tagVARIANT *,

struct tagEXCEPINFO *,unsigned int *,int &) + 0xFE

tagen!CStateMachObject::Invoke(long,struct tagDISPPARAMS *,

struct tagVARIANT *,struct tagEXCEPINFO *,unsigned int *,

int *) + 0x12FA

tagen!CTAGenObject::Invoke(long,struct _GUID const &,unsigned long,

unsigned short,struct tagDISPPARAMS *,struct tagVARIANT *,

struct tagEXCEPINFO *,unsigned int *) + 0x332

OLEAUT32!UserEXCEPINFO_free_local + 0x57D



Service pack information
To resolve this problem, obtain the latest service pack for Microsoft Host Integration Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

328152 How to obtain the latest service pack for Host Integration Server 2000

Hotfix information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.   Date         Time   Version            Size    File name --  04-Mar-2003  20:20  5.0.0.900          37,136  Capture.dll 04-Mar-2003 20:19  5.0.0.900         323,856  Cedrmsgs.dll 04-Mar-2003 20:20  5.0.0.900          33,040  Comticontext.dll 04-Mar-2003 20:19  5.0.0.900         147,728  Convert.dll 04-Mar-2003 20:20  5.0.0.900          74,000  Convertprim.dll 04-Mar-2003 20:20  5.0.0.900          33,040  Dpl1.dll 04-Mar-2003 20:20  5.0.0.900         823,568  Dtcob390.dll 04-Mar-2003 20:20  5.0.0.900          37,136  Playback.dll 04-Mar-2003 20:19  5.0.0.900          78,096  Readlib.dll 04-Mar-2003 20:19  5.0.0.900         123,152  Tadtlb.dll 04-Mar-2003 20:20  5.0.0.900         114,960  Tagen.dll 04-Mar-2003 20:20  5.0.0.900          78,096  Tranlu62.dll 04-Mar-2003 20:20  5.0.0.900         110,864  Trantcp.dll 04-Mar-2003 20:20  5.0.0.900          49,424  Turnaround.dll 04-Mar-2003 20:21  5.0.0.870         950,272  Componentbuilder.exe 24-Feb-2003 23:12                    838,423  Comticb.chm 25-Feb-2003 17:06                    812,988  Resnapin.chm

Note Because of file dependencies, the most recent fix that contains the previous files may also contain additional files.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.

This problem was corrected in Microsoft Host Integration Server 2000 Service Pack 2.



MORE INFORMATION
This problem only occurs when you use unbounded recordsets. To work around this problem, define the output variable as an ADODB.Recordset recordset. If the code is written in Microsoft Visual Basic where all variables must be Variant data types, work around this problem by writing a Visual Basic .dll file to make the COMTI call. In this workaround, define the output variable as a recordset, and then make the call by using an exposed method in the Visual Basic .dll file.

Additional query words: COMTI Recordset

Keywords: kbqfe kbfix kbbug KB812402

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.