CoImpersonateClient и рабочие потоки - PullRequest
1 голос
/ 26 января 2011

У меня есть существующая служба COM, которая работает под учетной записью локальной системы в качестве службы.Единственная цель, когда клиент подключается, - запускать стороннюю функцию с олицетворением.то есть что-то вроде:

    void service_client()
    {
        CoImpersonateClient();
        tfp(); //third_party_function
        ...
    }

Все это хорошо работало в течение многих лет, но теперь tfp () изменился, оставаясь синхронным в целом, и внутренне порождает рабочие потоки, которые выбирают учетную запись локальной системы вместоолицетворенный клиент, который вызывает сбой функции.

Есть ли способ обойти это, учитывая, что я не могу изменить tfp ()

Спасибо.

...