私はいくつかの WMI クライアントで作業しており、コンソール スタンドアロン アプリケーションとして正常に動作します。しかし、Win32 サービスとしてラップしようとすると、次のように失敗します。
HRESULT hres = CoCreateInstance(CLSID_UnsecuredApartment, 0,
CLSCTX_LOCAL_SERVER, IID_IUnsecuredApartment,
(void**)&unsecuredApartment);
CoCreateInstanceがエラー0x80070005 (アクセスが拒否されました) で失敗します。
OnStart コールバックの前に「メイン」スレッドから呼び出します。COM はフラグCOINIT_MULTITHREADEDで既に初期化されています。OS は Windows 7 です。
この問題を解決する方法を教えてください。