rpc server is not available

I have client/server apps that work as long as they are on the same machine. When they are on different machines, I get "The RPC server is not available". I see the message in the debug output window, I don't get a popup. The binding string is composed with

    status = RpcStringBindingCompose(
          szMyUUID,                       // UUID to bind to.
          (unsigned char*)"ncacn_np", // Named Pipe
          szServer,                                 // Address
          szEndpoint,                 // Endpoint (named pipe)
          "Security=identification dynamic true",                                 // Protocol dependent network options to use.
          &szStringBinding);              // String binding output.

The machines are XP and Windows 7. It doesn't matter which one has the client and server.
szEndpoint is "\\pipe\\pipename" and szServer is "\\\\servername". I can ping the server. I have tried it with and without the "Security..." option.
RPCSS is started. The RPC locator is not running but I have tried it with it running. From what I have read, it's not necessary anyway. The Registry Terminal Server value AllowRemoteRPC is a 1. I tried setting the Registry MSDTC value AllowOnlySecureRPCCalls to 0 as a test. Nothing works. RpcStringBindingCompose and RpcBindingFromStringBinding return successfully and the binding string looks correct. It's NdrGetBuffer, which I can't find any documentation for and have seen references where others couldn't either, in the MIDL compiler generated code that fails.

The firewall is off. I'm on an internal lan and settings are managed by Group  Policy.

It seems like it must be a security or permissions issue. I have administrator privileges on both ends.

What am I missing?

Thanks for the help.
Who is Participating?
amorales63Connect With a Mentor Author Commented:
Problem solved. This was originally done for the client and server to be on the same machine. I am now going between machines. The named pipe name was created by concatenating the session ID on the end of the name. On XP this is a 0, on Windows 7 it's a 1. So the names didn't match. It works when I get the name to match.
When you go into that service and check the dependencies are all of the dependant services running as well?
amorales63Author Commented:
Are you referring to the RPCSS or the cilent/sever apps? I don't think RPCSS is dependant on anything. The client/server apps I'm developing and don't have any dependancies except RPCSS. How do I check it? I don't see anything when looking at the services.
amorales63Author Commented:
There was no helpful input from the experts. I found the problem on my own.
All Courses

From novice to tech pro — start learning today.