Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows CoImpersonaeClient和辅助线程_Windows_Security_Com_Service - Fatal编程技术网

Windows CoImpersonaeClient和辅助线程

Windows CoImpersonaeClient和辅助线程,windows,security,com,service,Windows,Security,Com,Service,我有一个在本地系统帐户下作为服务运行的现有COM服务。 当客户端连接时,它的唯一目的是通过模拟运行第三方函数。i、 e.类似于 void service_client() { CoImpersonateClient(); tfp(); //third_party_function ... } 多年来,这一切都运行得很好,但现在tfp发生了变化,在保持总体同步的同时,它在内部生成了工作线程,这些线程获取本地系统帐户的身份,而

我有一个在本地系统帐户下作为服务运行的现有COM服务。 当客户端连接时,它的唯一目的是通过模拟运行第三方函数。i、 e.类似于

    void service_client()
    {
        CoImpersonateClient();
        tfp(); //third_party_function
        ...
    }
多年来,这一切都运行得很好,但现在tfp发生了变化,在保持总体同步的同时,它在内部生成了工作线程,这些线程获取本地系统帐户的身份,而不是导致函数失败的模拟客户端

鉴于我不能修改tfp,有没有办法解决这个问题


谢谢。

模拟是特定于线程的。与供应商合作,你不可能是唯一一个有这个问题的人。不幸的是,供应商没有帮助,这不是他们希望看到他们的产品如何使用。到目前为止,我唯一的解决方案是将tfp打包到exe和CreateProcessAsUser中,并使用管道进行跨进程通信,但这会降低性能。