代码之家  ›  专栏  ›  技术社区  ›  hplbsh

从应用程序调用具有提升权限的Win32服务中的方法

  •  0
  • hplbsh  · 技术社区  · 17 年前

    我开发了一个Win32 C/C++应用程序,它创建动态的WFP IP过滤器,但是它必须作为管理员来运行(因为Windows安全策略)。我想将需要管理员权限的代码放在使用管理员权限运行的服务中,然后从作为普通用户运行的应用程序调用它。

    首先,这是正确的方法吗?第二,尽管我知道如何创建服务,但我找不到任何说明如何在服务中调用方法/向服务发送请求的引用。

    虽然我可能会欺骗和玩弄清单,但我不介意做额外的工作来正确地完成它,特别是因为功能可以跨应用程序重用。

    有没有人有经验或指点?

    1 回复  |  直到 17 年前
        1
  •  0
  •   the_mandrill    17 年前

    拥有单独的可执行文件(具有执行所需操作的权限)的方法当然是正确的,这样主应用程序就可以在受限的用户帐户中运行。对于向服务发送请求,它作为服务运行的事实没有什么特别的。只需考虑它是一个使用管理员用户凭据运行的进程。因此,在处理情况的任何其他过程(如命名管道、网络套接字等)中,与之通信的方式与之相同。