Solved

ATL Service : Error  0x80004015

Posted on 2001-07-29
9
1,540 Views
Last Modified: 2013-11-20
Hi,

I need help regarding the error 0x80004015

I built an ATL service with a component.
The interface exposed has a test method.

I registered the proxy stub dll.
When I debug my ATL service, in the Run() method ,

The first call to CoInitialize() and the next call to CoInitializeSEcurity(...) succeed. After that,

I get the  hr value=  0x80004015 when I call the RegisterClassObjects.
   hr = _Module.RegisterClassObjects(CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER, REGCLS_MULTIPLEUSE);
    _ASSERTE(SUCCEEDED(hr));

I tried on windows NT 4.0 and also windows 2000. The same error is encountered.

What can be the reason. How do I avoid this.
I need help
0
Comment
Question by:devitalla
9 Comments
 

Author Comment

by:devitalla
Comment Utility
I am not setting anything on DCOMCNFG. All default settings remain
0
 
LVL 12

Expert Comment

by:migel
Comment Utility
Hi!
this message tells you about wrong securitu settings:
//
// MessageId: CO_E_WRONG_SERVER_IDENTITY
//
// MessageText:
//
//  The class is configured to run as a security id different from the caller
//
#define CO_E_WRONG_SERVER_IDENTITY       _HRESULT_TYPEDEF_(0x80004015L)
check your settings for atl.dll
0
 

Author Comment

by:devitalla
Comment Utility
Where do I check my settings..
My service settings in Registry is Local Service and
ServiceParameters= - Service.

How do I avoid this. What security settings I have to change?

0
 
LVL 9

Accepted Solution

by:
ShaunWilde earned 50 total points
Comment Utility
what does your CoInitializeSecurity call look like ?
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 

Author Comment

by:devitalla
Comment Utility
Coinitialize Security call ->  


hr = CoInitializeSecurity(NULL, -1, NULL, NULL,
        RPC_C_AUTHN_LEVEL_NONE, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL);


0
 
LVL 9

Expert Comment

by:ShaunWilde
Comment Utility
and what do you use on the client ?

if you set them both to the same - it helps -

by the way according to the docs if you use CoInitializeSecurity then registry entries are ignored
0
 

Author Comment

by:devitalla
Comment Utility
I use the same settings on the Client too.
Still I get the same error.

If the Client and Server are running on the same system,
to avoid the error, I need to edit the Registry entries
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{1CE40564-40F3-4CC1-9D79-E8F5F0243FBC}
and remove the "LocalService" = <servicename> string value.

Is this a correct way to solve the problem.

Is there any other way to avoid this problem?
0
 
LVL 9

Expert Comment

by:ShaunWilde
Comment Utility
> Is this a correct way to solve the problem

yes it is (according to what I have just red) - well spotted - see KB article Q158508 (Q6)

to stop the LocalService from re-appearing you can edit the .rgs file and rename it to _LocalService - that way it is easy to put back if necessary

0
 
LVL 23

Expert Comment

by:Roshan Davis
Comment Utility
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Answered by : ShaunWilde

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Roshan Davis
EE Cleanup Volunteer
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now