RPC存在安全性的问题,如果允许所有的话,需要设置安全属性,简单描述如下:
- // 注意:从Windows XP SP2 开始,增强了安全性的要求,如果用 RpcServerRegisterIf() 注册
- // 接口,客户端调用时会出现 RpcExceptionCode() == 5,即Access Denied 的错误. 因此,必
- // 须用 RpcServerRegisterIfEx 带 RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 标志允许客户端直
- // 接调用。
- // RpcServerRegisterIf(HelloWorld_v1_0_s_ifspec, NULL, NULL);
- RpcServerRegisterIfEx(
- HelloWorld_v1_0_s_ifspec, // Interface to register.
- NULL,
- NULL, // Use the MIDL generated entry-point vector.
- RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH,
- 0,
- NULL);