My application uses Microsoft RPC for interprocess communications. When two processes are run on the same machine and one process tries to call a method declared as (IDL notation):
error_status_t rpcMethod( [in] pipe byte parameter );
this call fails with RPC_S_CANNOT_SUPPORT ("The requested operation is not supported") and never reaches the server side and the push()/pull() primitives of the supplied pipe are never called. This is only reproduced on Vista when using ncalrpc protocol and not otherwise.
I also found the following in the Event Viewer logs:
Application ("my program exe file name here" \service) (PID: 344) is using Windows functionality that is not present in this release of Windows. For obtaining an updated version of the application, please, contact the application vendor. The technical information that needs to be conveyed to the application vendor is this: "An RPC method using synchronous pipes has been called on on protocol sequence ncalrpc interface with unique identifier (actual UUID here). Usage and support of synchronous pipes on this protocol sequence has been deprecated for this release of Windows. For information on the deprecation process, please, see http://go.microsoft.com/fwlink/?LinkId=36415." User Action Contact the application vendor for updated version of the application
The link in the message text redirects to a page that is not likely relevant.
Is there a workaround for this problem except for changing the protocol sequence or not using pipes?