2

我有一个在后台运行的 Windows 服务,我想在某个时候告诉他从运行对象表中获取对象。

问题是,无论我尝试什么,似乎都无法实现。

它总是在 Windows API 的 GetObject 方法上失败,代码 0x800401E3(操作不可用)失败,就好像对象不存在一样。

  • 在服务中失败的相同代码示例在常规可执行文件中运行良好,因此不太可能出现拼写错误或逻辑错误。

  • 我尝试通过以下方式运行服务:

    • 在本地系统帐户上
    • 在管理员用户帐户上
    • 在本地系统帐户上模拟管理员用户(使用 ImpersonateLoggedOnUser)
      • 它们都以相同的方式失败(如上所述,在 GetObject 方法上)

所以我想知道关于运行对象表和 Windows 服务是否存在我不知道的限制(对于可能的安全问题?)。

好吧,如果它可以工作,我会错过什么?除了用户权限之外,是否还有其他东西可以篡改我的服务从运行对象表中查看/检索数据的能力?

4

0 回答 0