我使用微软RPC的进程间通信。 我有一组接受字节管为“在”参数(IDL描述)的方法的接口:
[
uuid(ActualGuidHere),
version(1.0),
pointer_default(unique)
]
interface IMyInterface
{
//other irrelevant methods here
error_status_t rpcDoAction( [in] pipe byte params );
//more irrelevant methods here
}
在每过一段时间,当我调用上通过MIDL生成并下达给NdrClientCall2()的客户端存根客户端这样的方法,它不会到达服务器端,但NdrClientCall2()返回RPC_S_ALREADY_LISTENING(“服务器已在侦听“),这实在是令人困惑的。
我添加登录到传输过程中用于推/拉操作的函数 - 它们都还没有被调用任何失败这样的呼叫。 这意味着传输甚至还没有开始。
调用没有管作为参数的方法时,我从来没有遇到这样的行为。
可能是什么原因和解决方法?