0

私はいくつかの WMI クライアントで作業しており、コンソール スタンドアロン アプリケーションとして正常に動作します。しかし、Win32 サービスとしてラップしようとすると、次のように失敗します。

HRESULT hres = CoCreateInstance(CLSID_UnsecuredApartment, 0, 
    CLSCTX_LOCAL_SERVER, IID_IUnsecuredApartment, 
    (void**)&unsecuredApartment);

CoCreateInstanceがエラー0x80070005 (アクセスが拒否されました) で失敗します。

OnStart コールバックの前に「メイン」スレッドから呼び出します。COM はフラグCOINIT_MULTITHREADEDで既に初期化されています。OS は Windows 7 です。

この問題を解決する方法を教えてください。

4

1 に答える 1

0

サイモンが言ったように、サービスにはアクセス権が必要です。services.msc -> サービス名 -> プロパティ -> ログオン -> 正しいドメイン ユーザーとパスワードを設定する必要があります。それは私にとってはうまくいきます。

于 2013-06-24T10:16:02.017 に答える