RPC存在安全性的问题,如果允许所有的话,需要设置安全属性,简单描述如下:

  1.      // 注意:从Windows XP SP2 开始,增强了安全性的要求,如果用 RpcServerRegisterIf() 注册   
  2.      // 接口,客户端调用时会出现 RpcExceptionCode() == 5,即Access Denied 的错误. 因此,必   
  3.      // 须用 RpcServerRegisterIfEx 带 RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH 标志允许客户端直   
  4.      // 接调用。   
  5.   
  6.      // RpcServerRegisterIf(HelloWorld_v1_0_s_ifspec, NULL, NULL);   
  7.      RpcServerRegisterIfEx(   
  8.          HelloWorld_v1_0_s_ifspec, // Interface to register.   
  9.          NULL,   
  10.          NULL, // Use the MIDL generated entry-point vector.   
  11.          RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH,   
  12.          0,   
  13.          NULL); 

原文地址:http://rosehacker.blog.51cto.com/2528968/492033