I've got two processes that need to communicate. One process is a service and the other is a user interface application. According to Microsoft's guidelines for Vista, named pipes should be a viable mechanism for this communication.
The problem is when I attempt to open the pipe in the UI application, I get ERROR_ACCESS_DENIED. I'm doing my testing under Vista Ultimate Edition. The OS installation is fairly vanilla with little changes to defaults. UAC is enabled. The service is running under a user account identical to the logged in user although the problem is identical when the service is running under the system account.
Here's the code I use for creating the named pipe in the service :