OpenEvent fails - Local System Account vs. Administrative Account

One more time about named events - Q228785 talks about OpenEvent will fail running under non-administrative accounts. But my case is different here. Perhaps I must be missing some simple point to make it work correctly.
My kernel and user application communicates through named events. User application runs as a service. Named events are created in the kernel space and the service opens and waits in the user space.
Everything worked fine as long as the service was running under “Local System Account”. When it was changed, to “Administrator” account OpenEvent() in the service started failed returning STATUS_ACCESS_DENIED. Now, there is a requirement to run the service in the administrator account.
In order to satisfy OpenEvent(), should I play with GetKernelObjectSecurity and SetKernelObjectSecurity to alter security information after the creation of the events in the kernel space? In the “Local Security Settings”, the administrator account is given “Act as part of the operating system” policy besides other policies.
Though there is a work around of using IOCTLS to pass the event handles to the driver to establish the communication with between kernel and user space, I can’t make a decision of implementing it at this point of time.
Any pointers/ideas/work-arounds to resolve this issue is greatly appreciated.
Thanks in advance,
-Mohan


Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience