从“ncalrpc”切换到“ncacn_np”可能出现的问题

时间:2009-05-07 13:09:40

标签: windows windows-vista rpc

我有一个使用RPC进行进程间通信的应用程序。事实证明,与“ncalrpc”协议序列一起使用的同步RPC管道不会在Vista上实现。我想切换到“ncacn_np”并使用带有RPC_IF_ALLOW_LOCAL_ONLY标志的RpcServerRegisterEpEx()。

还有人试过吗?这种转变是否存在任何可能的问题?

1 个答案:

答案 0 :(得分:2)

您已经看到有关旗帜使用的信息:

...When this interface flag is registered, the RPC runtime rejects calls made by remote clients. All local calls using ncadg_* and ncacn_* protocol sequences are also rejected, with the exception of ncacn_np. RPC allows ncacn_NP calls only if the call does not come from SRV. Calls from ncalrpc are always processed...

RPC for local真正使用LPC(Microsoft Windows Internals 4 ed,fron page 802):
本地RPC可用于位于同一系统上的两个进程之间的通信,RPC运行时DLL使用内核模式中的本地过程调用(LPC)工具作为本地网络API。

[EDITED]
更多一些帮助How to troubleshoot connectivity issues that are caused by RPC client protocol registry entries