"operation not supported" when calling an RPC call in Vista

My application uses Microsoft RPC for interprocess communication. When two processes start on the same computer, 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 channel are never called. This is reproduced only in Vista using the ncalrpc protocol, and not otherwise.

I also found the following in event view logs:

The application ("my program file name is exe here" \ service) (PID: 344) uses Windows functionality that is not available in this version of Windows. To obtain an updated version of the application, contact the application provider. The technical information that should be passed to the application vendor is: "The RPC method using synchronous channels was called on the ncalrpc protocol sequence interface with a unique identifier (the actual UUID is here). The use and support of synchronous channels in this protocol sequence for this version of Windows is deprecated . For information on the aging process, see http://go.microsoft.com/fwlink/?LinkId=36415 . " User Response Contact your application vendor for an updated version of the application.

, .

, ?

+3
1

, , Vista.

RPC_NOTIFICATIONS, , RPC.

Windows Vista: RpcNotificationClientDisconnect RpcNotificationCallCancel. , RPC_S_CANNOT_SUPPORT.

. MSDN

+2

Source: https://habr.com/ru/post/1706443/