gpt4 book ai didi

c++ - 在 Vista 上调用 RPC 调用时为 "operation is not supported"

转载 作者:可可西里 更新时间:2023-11-01 09:32:01 28 4
gpt4 key购买 nike

我的应用程序使用 Microsoft RPC 进行进程间通信。当两个进程在同一台机器上运行并且一个进程试图调用声明为(IDL 符号)的方法时:

error_status_t rpcMethod( [in] pipe byte parameter );

此调用因 RPC_S_CANNOT_SUPPORT(“不支持请求的操作”)而失败,并且永远不会到达服务器端,并且永远不会调用所提供管道的 push()/pull() 原语。这仅在使用 ncalrpc 协议(protocol)时在 Vista 上重现,否则不会重现。

我还在事件查看器日志中发现了以下内容:

应用程序(“我的程序 exe 文件名”\service)(PID:344)正在使用此版本的 Windows 中不存在的 Windows 功能。要获取应用程序的更新版本,请联系应用程序供应商。需要向应用程序供应商传达的技术信息是这样的:“在具有唯一标识符(此处为实际 UUID)的协议(protocol)序列 ncalrpc 接口(interface)上调用了使用同步管道的 RPC 方法。此协议(protocol)序列上同步管道的使用和支持此版本的 Windows 已弃用。有关弃用过程的信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=36415。”用户操作联系应用程序供应商以获取应用程序的更新版本

消息文本中的链接重定向到一个不太可能相关的页面。

除了更改协议(protocol)顺序或不使用管道之外,是否有解决此问题的方法?

最佳答案

您很可能使用了 Vista 不支持的方法。

RPC_NOTIFICATIONS 枚举值,指定服务器从 RPC 请求的通知类型。

Windows Vista:目前仅支持 RpcNotificationClientDisconnect 和 RpcNotificationCallCancel。如果为此参数指定任何其他值,则返回 RPC_S_CANNOT_SUPPORT 错误代码。

See MSDN

关于c++ - 在 Vista 上调用 RPC 调用时为 "operation is not supported",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/750903/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com