启动 RPC 服务器时出现“端点重复”

2024-03-05

我的程序使用 Microsoft RPC 进行进程间通信。为了准备接收 RPC 调用,程序运行以下序列:

  1. RpcServerUseProtseqEp(),然后

  2. RpcServerRegisterIf(),则

  3. RpcServerListen()

该程序按照上述顺序启动其 RPC 服务器,工作一段时间,然后终止,稍后可能由另一个程序重新启动。每次运行程序时,RpcServerUseProtseqEp() 的参数值集都是相同的。

当序列在重新启动后第一次运行时,它总是成功,但在后续运行中,RpcServerUseProtseqEp() 返回 RPC_S_DUPLICATE_ENDPOINT (“端点是重复的。”)目前,我只是忽略这个特定的错误代码并将其视为成功,然后所有其他原语通常工作得很好。

使用 RpcServerUseProtseqEp() 的正确方法是什么?我应该进行任何清理以撤销已注册的端点,还是继续忽略 RPC_S_DUPLICATE_ENDPOINT 错误代码?


我遇到了同样的问题,我无法完全解决,但这段代码对我有用:

UCHAR* pszProtocolSequence = (UCHAR*)"ncacn_ip_tcp"; // Use RPC over TCP/IP
UCHAR* pszSecurity = NULL;
UCHAR* pszEndpoint = (UCHAR*)"9300";
UINT cMinCalls = 1;
UINT cMaxCalls = m_dwConcurrentChannels;
UINT fDontWait = FALSE;

int RPC_tries, MAX_RPC_Tries;
RPC_tries=0;
MAX_RPC_Tries=60;
do
{
    status = ::RpcServerUseProtseqEp(
    pszProtocolSequence, cMaxCalls, pszEndpoint, pszSecurity);
    Sleep(1000);
    RPC_tries+=1;
}while(status!=RPC_S_OK && RPC_tries<MAX_RPC_Tries);

由于某些原因,当您重新启动 Windows 服务时,您必须等待一段时间才能再次使用 RpcServerUseProtseqEp。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

启动 RPC 服务器时出现“端点重复” 的相关文章

随机推荐

  • 在 django 模型中铸造对象

    我正在使用 models py 制作一个 django 项目 其代码如下 class Record models Model id models AutoField primary key True class TTAMRecord Rec
  • 如何使用 dx 和 dy(导数)创建 Swift CGVector?

    我试图了解如何在 Swift 中创建 Vector 因为当我执行 CGVectorMake 时 它告诉我将 dx 和 dy 导数 作为 CGFloat 传递 如何仅使用该信息创建矢量 线 谁能给我解释一下吗 喜欢傻瓜吗 我在谷歌中搜索 但仍
  • 如何使用ffmpeg命令生成RTMP测试流?

    我想通过生成带有时间戳的 RTMP 测试视频来测试我的流媒体基础设施 这可能看起来像那样screen https s media cache ak0 pinimg com originals 65 25 9c 65259ca7ebaba59
  • 如果只有一列,为什么 Pandas 转换会失败

    看完这个之后question https stackoverflow com questions 19265942 pandas create a new column filled with the number of observati
  • 如何使用本机 Win32 API 从焦点窗口获取选定的文本?

    我的应用程序 将在系统上运行尝试监视热键 当用户在任何窗口中选择某些文本并按下热键时 当我收到 WM HOTKEY 消息时 如何获取所选文本 为了将文本捕获到剪贴板 我尝试发送Ctrl C using keybd event and Sen
  • SQL Server 2012 中的 group_concat 与 ORDER BY 另一列

    我有一个包含约一百万个条目的表 如下所示 customer id purchased at product 1 2012 06 01 00 00 apples 1 2012 09 02 00 00 apples 1 2012 10 01 0
  • 找不到内存泄漏

    我一直在开发 WP7 应用程序 它是图像库应用程序 实现了基本的缩放和轻拂手势 出于测试目的 我将离线图像 它们的文件名已编号 设置为 内容 来编译应用程序 并通过硬编码字符串 稍后将被替换 访问它们 但后来意识到应用程序消耗大量内存 我以
  • C++ - 将 istream_iterator 与 wstringstream 结合使用

    我正在尝试向我编写的程序添加 Unicode 支持 我的 ASCII 代码已编译并包含以下几行 std stringstream stream abc std istream iterator
  • 将自定义列产品可见性添加到 Woocommerce 3 中的管理产品列表

    我正在尝试使用产品的目录可见性值向管理产品列表添加自定义列 基本上 我需要更容易地知道哪些是隐藏的 哪些不是 到目前为止我的子主题的function php的代码 add filter manage edit product columns
  • 如何设置 GitHub.com 中的默认分支?

    我找到了以下信息 但没有找到哪里可以访问它 账户设置里没找到 有回购设置页面吗 您必须是回购所有者吗 https github com blog 421 pick your default branch https github com b
  • 承诺链内的返回值没有被调用

    我正在使用 Promise 库 Bluebird 目前遇到的问题是函数内的所有内容都运行良好 但是当我尝试返回值时 函数反而返回undefined 这是承诺链 function foo createGroupMembers parsedCh
  • 无法安装:错误 0x80070643:无法安装 MSI 包

    我正在尝试安装一个应用程序 msi 我使用 WiX 安装程序创建了一个 exe 它有依赖项 我尝试将其安装在某些电脑上 效果非常好 但在其中一个系统中 当它尝试安装 msi 时 它会给出错误并回滚安装 这是正常的 无法弄清楚为什么它没有安装
  • PHP - 服务器端变量将永远“存在”?

    我正在寻找一种简单的方法来在服务器内存中存储计数器以允许页面加载选择 有点 伪代码 if counter is odd then load page x else even counter load page y increment cou
  • 将用户定义的命令行参数添加到/?窗户

    使用 Inno Setup 可以添加用户定义的命令行参数 当我使用 HELP命令中未列出用户定义的参数 如何将带有描述的命令添加到 HELP window Inno Setup 6 0 支持HelpTextNote message http
  • Oracle CTE 合并

    我正在尝试使用 CTE 公用表表达式 的简单合并语句 但它给出了一个错误 MERGE INTO emp targ USING ERROR at line 4 ORA 00928 missing SELECT keyword 合并语句中不允许
  • 反距离加权插值

    我想计算一个重量作为距离的倒数 例如反距离加权插值 http en wikipedia org wiki Inverse distance weighting double wgt 0 wgt tmp result 0 for int i
  • 单一职责原则在 OOP 中有效吗?

    我正在努力理解如何将单一职责原则与 OOP 结合使用 如果我们要完全遵循这一原则 那么我们是否会留下许多类 其中许多类可能每个都只有一个方法 如果我们不严格遵循这个原则 那么这个原则还有什么意义呢 我喜欢这样陈述单一职责原则 你编写的每件事
  • x86 虚拟化如何工作

    任何人都可以推荐有关虚拟化的好读物吗 我建议英特尔软件开发人员手册 http www intel com products processor manuals 具体来说卷3B http www intel com Assets PDF ma
  • 没有名为“delta.tables”的模块

    我收到以下代码的错误 请帮忙 from delta tables import ModuleNotFoundError No module named delta tables INFO SparkContext Invoking stop
  • 启动 RPC 服务器时出现“端点重复”

    我的程序使用 Microsoft RPC 进行进程间通信 为了准备接收 RPC 调用 程序运行以下序列 RpcServerUseProtseqEp 然后 RpcServerRegisterIf 则 RpcServerListen 该程序按照