“operation is not supported” when invoking an RPC call on Vista

旧时模样 提交于 2019-12-07 12:49:40

问题


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?


回答1:


You are most likely using a method that is unsupported in Vista.

RPC_NOTIFICATIONS enumeration value that specifies the type of notification requested from RPC by the server.

Windows Vista: Currently, only RpcNotificationClientDisconnect and RpcNotificationCallCancel are supported. If any other value is specified for this parameter, the RPC_S_CANNOT_SUPPORT error code is returned.

See MSDN



来源:https://stackoverflow.com/questions/750903/operation-is-not-supported-when-invoking-an-rpc-call-on-vista

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!