PRB: GetOriginalCallerName Fails When You Call It from IObjectControl::Activate (258925)
The information in this article applies to:
- Microsoft Transaction Server 2.0
This article was previously published under Q258925 SYMPTOMS
When you call the GetOriginalCallerName method from the IObjectControl::Activate method in Microsoft Transaction Server (MTS), the following events (or similar) are logged in the event log:
The run-time environment caught an exception during a call into your component. This error caused the process to terminate. PreCall (Package: AV) (ProgId: Caller.CCaller) (CLSID: {100CB474-18B1-11D5-AF5A-00C04FB9CD9A}) (Interface: ObjectControl) (IID: {7DC41850-0C31-11D0-8B79-00AA00B8A790}) (Method: 3) (Microsoft Transaction Server Internals Information: File: i:\viper\src\runtime\context\ccontext.cpp, Line: 2422)
The run-time environment has detected an inconsistency in its internal state and has terminated the process. Please contact Microsoft Product Support Services to report this error. Internal Check Failure on condition: m_pOriginalCallerSid (Package: AV) (Microsoft Transaction Server Internals Information: File: i:\viper\src\runtime\security\ssecprop.cpp, Line: 449)
CAUSEGetOriginalCallerName fails from IObjectControl::Activate because the security context is not initialized completely at the time of the Activate call. However, a call to the GetDirectCallerName method succeeds because GetDirectCallerName does not rely on the MTS security context.
MORE INFORMATION
Under Microsoft Windows 2000 in Microsoft COM+, the security context is completely initialized by the time Activate is called. As a result, GetOriginalCallerName succeeds in COM+ when it is called in IObjectControl::Activate.
Modification Type: | Major | Last Reviewed: | 6/12/2001 |
---|
Keywords: | kbDSupport kberrmsg kbprb KB258925 |
---|
|