Microsoft KB Archive/258925

= PRB: GetOriginalCallerName Fails When You Call It from IObjectControl::Activate =

Article ID: 258925

Article Last Modified on 6/12/2001

-

APPLIES TO


 * Microsoft Transaction Services 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)

-and-

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)



CAUSE
GetOriginalCallerName 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.

Keywords: kberrmsg kbprb KB258925

-

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

© Microsoft Corporation. All rights reserved.