たとえば、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でカプセル化するツールがあります。この場合、x.exe で COM 呼び出しを受信することはありません (ログによって検証されます)。奇妙な部分は次のとおりです。呼び出し元のサイトをログに記録すると、COM オブジェクトが正常にインスタンス化されており、インターフェイス関数の呼び出しでエラーが発生していない ( SUCEEDED(hres)
is true ) ことがわかります。
何か案は?