c - 即使使用 RPC_C_AUTHN_NONE,Windows RPC 访问也被拒绝

标签 c windows rpc

我在尝试将 RPC 客户端连接到 RPC 服务器时遇到此错误:

Error occurred:5

一些谷歌搜索向我展示了此错误的含义:访问被拒绝。 问题并非来自防火墙。

这是服务器部分,我在其中指定 RPC_C_AUTHN_NONE 让每个人都可以连接:

RPC_STATUS status;
printf("RPC Server Starting...\n");

status = RpcServerUseProtseqEp(
    (unsigned char *)"ncacn_ip_tcp",
    RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
    (unsigned char *)"9191",
    RPC_C_AUTHN_NONE);
if (status) { printf("Error:%d\n", status); exit(status); }
printf("RPC Server Configured\n");

这是引发错误的客户端部分:

RpcTryExcept {
    unsigned char szMsg[] = "Client: I can RPC now!\n";
    md5(szMsg);
} RpcExcept(1) {
    printf("Error occurred:%d\n", RpcExceptionCode());
}
RpcEndExcept

如何纠正此问题,以便让任何 RPC 客户端连接?

同样,您知道有关 Windows RPC 身份验证的良好 RPC 文档吗?

非常感谢!

最佳答案

我花了一些时间弄清楚为什么会发生这种情况,并在找到解决方案时提供这个答案,以帮助那些可能遇到此问题的人:

默认情况下,RPC 连接仅授予经过身份验证的客户端。这可以通过编辑注册表项或应用 GPO 来禁用对未经身份验证的用户的限制(如指定 here 所示)来更改。 .

关于c - 即使使用 RPC_C_AUTHN_NONE,Windows RPC 访问也被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30107139/

相关文章:

c - 从c中的另一个函数获取输出值

c - %4d 用括号括起来有什么用?

c 将 typedef 放入结构中

c++ - 如何从命令行或其他应用程序打开桌面应用程序并将其置于最前面?

windows - 如何从 config.txt 上的 7zip sfx 文件设置在 "RunProgram"之前或之后运行 exe?

php - Google Flight RPC 和构建 JSON 数组

c - C 中的堆损坏

c++ - C++-创建bmp文件并通过createwindow()显示它的问题

jquery - REST Web 服务与类似 RPC 的服务有何区别?

python - 目前在 Python 中进行 RPC 的选择是什么?