イベントID 5858(WMI-Activity)は何を示すか
WMI-Activity の Event ID 5858 で ResultCode 0x80041032 が記録されたとき、Microsoft の資料は、WMI クライアントが IWbemServices::ExecQuery を発行した後、結果セットを取り切る前に関連オブジェクトを解放した事例を説明しています。最初に、ログ名「Microsoft-Windows-WMI-Activity/Operational」、ソース「WMI-Activity」、Event ID「5858」、ResultCode「0x80041032」がそろうかを確認します。このイベントだけで、WMI サービス全体の故障や PC の不調を断定することはできません。
Microsoft Learn のページ上部は Supported versions of Windows Client としていますが、本文で具体的に説明している発生環境は Windows Server 2012 R2 と IWbemServices::ExecQuery を使うアプリケーションです。この資料だけを根拠に、Windows 10、Windows 11、別の ResultCode、別の WMI クエリへ同じ原因・対処を当てはめません。
詳細タブの読み方:0x80041032 のログかを照合する
Microsoft のログ例には次の値が並びます。これは WMI-Activity / 5858 / 0x80041032 の資料対象を見分ける文面であり、任意の 5858 に同じフィールドや値が必ずあるという意味ではありません。
| 症状 | 確認箇所 | 判断材料 | 次の行動 |
|---|---|---|---|
| WMI-Activity の 5858 がある | ログ名、ソース、Event ID | Microsoft-Windows-WMI-Activity/Operational、WMI-Activity、5858 が一致する | ResultCode と Operation を続けて確認する |
| 資料の限定事例に近い | メッセージ欄 | Operation = Start IWbemServices::ExecQuery と ResultCode = 0x80041032 がある |
WMI クライアントの処理条件を開発・運用担当へ渡す |
| ResultCode が 0x80041032 | メッセージ欄 | WBEMECALL_CANCELLED と対応すると資料にある |
ほかの ResultCode の説明とは分ける |
| 文面や環境が異なる | ログ全体と前後記録 | クエリ、ResultCode、対象 OS のいずれかが一致しない | この資料の原因説明を使わず、該当ログと製品情報を調べる |
資料の例には Id、ClientMachine、User、ClientProcessId、Component、Operation、ResultCode、PossibleCause が記されています。記事ではこれらを XML の固定フィールド名とは呼びません。PossibleCause = Unknown は資料のログ例の一部であり、原因を Unknown と確定する判断ではありません。
原因の切り分け:WMI 呼び出し元の処理に範囲を絞る
Microsoft が説明する 0x80041032 の事例では、呼び出し元が IWbemServices::ExecQuery を成功させた後、IEnumWbemClassObject::Next で完全な結果セットを取得する前に IWbemContext を解放しています。WMI サービスがクライアント用のデータを保持している間にリンクが終了すると、当該イベントが記録されます。
また、IEnumWbemClassObject::Next のタイムアウト値 lTimeout が照会対象を取得するには短すぎること、WBEMSTIMEDOUT (0x40004) の戻り値を確認して再要求していないことでも起こり得ると資料は説明しています。これは資料のアプリケーション側の原因説明です。イベント番号だけを根拠に、WMI リポジトリの破損、OS の設定不良、ネットワーク障害と決めません。
安全な確認手順:設定変更より記録の照合を先にする
まず、対象ログの全文、発生時刻、ClientProcessId、Operation、ResultCode を読み取りで控え、0x80041032 の限定事例に当てはまるかを確認します。次に、WMI クエリを発行するアプリケーションの開発・保守担当者へ、資料の条件と照合した結果を渡します。この記事ではレジストリ変更、WMI リポジトリの再構築、サービス再起動、コマンド実行は案内しません。公式資料がこの Event ID の解決としてそれらの操作を示していないためです。
資料が示す修正対象は WMI クライアントの実装です。完全な結果セットを取得してから IWbemContext を解放すること、オブジェクトが取得できない場合には lTimeout が 0 より大きいこと、WBEMSTIMEDOUT (0x40004) が返っていないことを確認するよう記されています。これは開発・保守担当者がアプリケーションの実装に照らして確認する事項であり、イベントビューアだけで利用者が変更する手順ではありません。
変更を伴うアプリケーション対応を検討する場合は、まず影響範囲、組織の変更管理、必要なバックアップ方針を確認します。この記事は、操作後に 5858 が必ず消える、またはアプリケーションが必ず回復するとは約束しません。
相談・調査を切り替える条件
0x80041032 以外の ResultCode、WMI-Activity 以外のソース、または資料にない OS・アプリケーションの条件では、同じ Event ID でも本記事の原因説明を流用しません。アプリ名、Operation、ResultCode、発生時刻を添えて、そのアプリケーションの開発元・保守担当者または Windows の管理担当へ相談します。WMI クライアントを特定できない場合も、推測で設定を変えず、取得できたログの範囲を渡します。