У нас есть исполняемый файл, который размещает сервер COM, сказать x.exe
. COM-объект инстанцируют следующим образом на сайте вызова:
hRes = CoCreateInstance(CLSID_InterceptX, NULL, CLSCTX_SERVER,
IID_IInterceptX, (void**)&pInterceptX);
Все это works fine when x runs as an regular application
.
У нас есть инструмент, который инкапсулирует x.exe so that it runs as a service
в соответствии с Windows. В этом случае мы никогда не принимаем вызов COM в x.exe (проверенный путем входа). Вот странная часть: От входа сайта вызова я могу сказать, что COM-объект успешно инстанцировали, и также вызов к функции интерфейса не производит ошибку (SUCEEDED(hres)
верно).
Какие-либо идеи?