FIX: A COMTI component generates an access violation when it receives unbounded recordsets in a Variant variable (812402)
The information in this article applies to:
- Microsoft Host Integration Server 2000
- Microsoft Host Integration Server 2000 SP1
SYMPTOMSWhen 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
RESOLUTIONService 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. STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
This problem was corrected in Microsoft Host Integration Server 2000 Service Pack 2.
MORE INFORMATIONThis 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.
Modification Type: | Major | Last Reviewed: | 7/14/2005 |
---|
Keywords: | kbQFE kbfix kbbug KB812402 |
---|
|