こんにちは、Japan Developer Support Core チームの松井です。 今回は、Visual Studio や SQL Server Management Studio (SSMS) を使用しているときにイベント ログに記録される場合がある、"Visual Studio ISensLogon Subscription" に関するイベント ID 4354 について解説します。
発生する事象の概要
Visual Studio や SSMS を使用している環境で、以下のような Application のイベント ログが警告レベルで記録されることがあります。
COM+ イベント システムは、発行元 およびサブスクライバー のイベント クラス {D5978630-5B9F-11D1-8DD2-00AA004ABD5E} に対して、DisplayLock メソッドの開始に失敗しました。サブスクリプションの表示名は "Visual Studio ISensLogon Subscription" です。HRESULT は 8001010a でした。

イベント ログが記録される理由
Visual Studio はユーザーのログオンや画面ロックの状態の通知を Windows からイベントとして受け取る (購読する) ために、System Event Notification Service (SENS) の ISensLogon インターフェイス を利用しています。
状態の通知は COM+ イベント システムを介して行われますが、Visual Studio が一時的にビジー状態である場合、通知されたイベントを直ちに処理できないため後でもう一度イベントを通知することを要求します。COM+ イベント システムはこの要求を受けて、HRESULT 8001010a (RPC_E_SERVERCALL_RETRYLATER) のコードを伴う警告レベルのイベント ログをイベント ID 4354 で記録します。
イベント ログに記録されるイベント クラス '{D5978630-5B9F-11D1-8DD2-00AA004ABD5E}' は ISensLogon インターフェイスに対応するクラスの GUID です。また、サブスクリプションの表示名 "Visual Studio ISensLogon Subscription" は、Visual Studio が SENS のログオン状態通知を受信するために登録したサブスクリプションであることを示しています。
なお、"Visual Studio ISensLogon Subscription" の名称は Visual Studio のコンポーネント (Visual Studio Shell) 内にハードコードされているため、同じコンポーネントを共有する SSMS などの製品においてもこのサブスクリプションの表示名でイベント ログが記録されます。
必要な対処について
このイベント ログが記録された場合、Visual Studio や SSMS としては何らかの処理を行っていて一時的にビジー状態であったことが想定されますが、これらのアプリケーションやシステムの動作で問題が生じたことを示すものではありません。したがって、"Visual Studio ISensLogon Subscription" の表示名で記録されるイベント ID 4354 は基本的に無視して問題なく、特に必要な対処はありません。
もしこのイベント ログが高い頻度で記録されている場合は、Visual Studio や SSMS が頻繁にビジー状態となり操作できない状況が発生している可能性があります。 その場合は、Visual Studio や SSMS の動作が遅い、応答しないなどの問題が発生していないか確認し、問題がある場合は弊社サポートまでお問い合わせください。
本ブログの内容は弊社の公式見解として保証されるものではなく、開発・運用時の参考情報としてご活用いただくことを目的としています。もし公式な見解が必要な場合は、弊社ドキュメント (https://learn.microsoft.com や https://support.microsoft.com) をご参照いただくか、もしくは私共サポートまでお問い合わせください。