Windows Vista/7ではエクスペリエンスインデックスとして、PCの性能を示す値が提供されています。
この情報を取得するために、IQueryRecentWinSATAssessmentを使い、情報いアクセスできることを確認しています。
しかし、一部のPCでは、、この方法で情報にアクセスしたところ、状態としてWINSAT_ASSESSMENT_STATE_NOT_AVAILABLE
が返され、各スコアが0.0となり、エクスペリエンスインデックスの値が取得できません。
OSの表示で、エクスペリエンスインデックスを表示させると、4.1と表示あれ、スコア計測も実施済みと表示されます。
確認に使用したコードは、MSDNにあるサンプルコード
(http://msdn.microsoft.com/en-us/library/windows/desktop/aa969199(v=vs.85).aspx)
をBuildして、Windows7で動作させています。
英語を含むMSDNで検索したところ、
http://connect.microsoft.com/VisualStudio/feedback/details/519496/winsatassessmentstate-dont-run-on-windows-7
に本件と同じと思われるような質問がありますが、回答がありません。
対処方法をご存じの方は教えてください。
Reiji Tanaka