IMHO you haven't followed instructions. You must use an executable to
registration period. A DLL is not an executable.
must be the name of the SNMP service.
of some help.
Hi Brian,
Thanks for your response, I have added the following:
HKCR
{
...
...
NoRemove AppID
{
ForceRemove 'ROTTester.DLL'
{
val AppId = s '%APPID%'
}
ForceRemove '%APPID%'
{
val RunAs = s 'Interactive User'
}
}
}
Unfortunetly, it didn't help I still get 0x80004015
Additional background:
1. I am writing an SNMP Extension Agent
2. The extension agent expose SNMP API and enclose a CAtlDllModule
3. During SNMP initialization ( SnmpExtensionInit ) I create the COM
object
( implemented by the DLL ) and try to register it in ROT using
ROTFLAGS_ALLOWANYCLIENT, this returns 0x80004015
Taking the above in mind giving special attention to the fact that my
DLL
is
registered as a SnmpExtension DLL and is loaded by snmp.exe, is it
somehow
possible to have an inproc COM object registered in ROT with
ROTFLAGS_ALLOWANYCLIENT ?
Any help would be appreciated
--
Nadav
http://www.sophin.com
"Brian Muth" wrote:
Read the documentation carefully:
http://msdn2.microsoft.com/en-us/library/ms680747.aspx
In particular:
"A server registered as either LocalService or RunAs can set the
ROTFLAGS_ALLOWANYCLIENT flag in its call to Register to allow any
client
to
connect to it. A server setting this bit must have its executable name
in
the AppID section of the registry that refers to the AppID for the
executable."
HTH,
Brian
By the way, please don't multipost like this. It is considered bad
netiquette. You should be crossposting instead.
"Nadav" <Nadav@discussions.microsoft.com> wrote in message
news:85D2E325-157A-47D1-A7A1-7D6C92BC88D6@microsoft.com...
Hi Willy,
Thanks for your immediate response, I have tried to use
ROTFLAGS_ALLOWANYCLIENT, this results: 0x80004015 The class is
configured
to
run as a security id different from the caller
Some background:
My "server" is an AtlComModule DLL loaded by snmp.exe on the entry
point
(
SnmpExtensionInit ) a specialized thread is created, this thread
instentiate
the COM object and register it on the ROT, when using
ROTFLAGS_ALLOWANYCLIENT
I get the error described above.
How can I resolve this problem ( 0x80004015 )how can I configure the
class
security id? is there any COM specific configuration I should do ?
SnmpExtensionInit
--
Nadav
http://www.sophin.com
"Willy Denoyette [MVP]" wrote:
"Nadav" <Nadav@discussions.microsoft.com> wrote in message
news:27265A63-360E-403B-A72D-C32EF60F651E@microsoft.com...
Hi,
I am using COM with RunningObjectTable, take in mind the
following
points:
1. I have a server that runs as a service this service register
an
object in
ROT, the object should be accesible to usermode applications
2. I have a user mode application trying to get the interface
pointer
to the
objsect registered by thye service in ROT
spROT->GetObjectW failes with 0x800401e3 on the user mode
application
when running my server as an application ( and not as a service )
the
interface is retrieved successfully.
Enumerating all the ROT objects by the app didn't show the object
registered
by the service.
It seems as if there is a different context per desktop ( such as
with
named
kernel objects ), is there any special namespace I cane use (
such
as
'Global' ) that will enable a non service app to resolve objects
registered
by a service?
Why does this happen? Why objects registered in ROT by a service
are
not
accessible to non service applications?
Any help would be appreciated.
--
Nadav
http://www.sophin.com
Have you register the object with the ROTFLAGS_ALLOWANYCLIENT flag
set?
Willy.