IWaaSAssessor
COM公式ドキュメント
Microsoft の最新ビルドと現在のデバイスで実行中のビルドを比較して、OS の更新プログラム評価を取得します。
解説(Remarks)
IWaaSAssessor インターフェイスは OSUpdateAssessment を取得します。この評価はキャッシュされている場合があります。キャッシュされたエントリがない場合、評価は WaaS Assessment Client を通じてオンデマンドで作成されます。クライアントは、デバイスに適用可能な更新情報を得るために WaaS Assessment Service に問い合わせて評価を作成します。その後、クライアントは取得した情報を使用して評価を実行します。
IWaaSAssessor インターフェイスを使用するには、コードに管理者権限が必要です。管理者権限を必要とするアプリケーションの開発の詳細については、こちらの記事を参照してください。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
Microsoft の最新リリース OS バージョンとデバイスで実行中の OS ビルドを比較して、OS の更新プログラム評価を取得します。
| result | OSUpdateAssessment* | out | 成功した場合、OS の更新プログラム評価へのポインターが格納されます。 |
戻り値
成功した場合は S_OK を返します。それ以外の場合は、COM または Windows のエラーコードを返します。
解説(Remarks)
GetOSUpdateAssessment は OS の更新プログラム評価を取得します。この評価は、デバイスに適用可能な更新プログラムに関する情報、具体的にはデバイスの OS が最新かどうかを示します。OS が最新でない場合、評価は最新でない理由をいくつか示します。また、評価は最新でないことがデバイスに及ぼす可能性のある影響も提示します。
GetOSUpdateAssessment メソッドを使用するには、コードに管理者権限が必要です。管理者権限を必要とするアプリケーションの開発の詳細については、こちらの記事を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWaaSAssessor "{2347BBEF-1A3B-45A4-902D-3E09C269B45E}" #usecom global IWaaSAssessor IID_IWaaSAssessor "{098EF871-FA9F-46AF-8958-C083515D7C9C}" #comfunc global IWaaSAssessor_GetOSUpdateAssessment 3 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWaaSAssessor "{2347BBEF-1A3B-45A4-902D-3E09C269B45E}" #usecom global IWaaSAssessor IID_IWaaSAssessor "{098EF871-FA9F-46AF-8958-C083515D7C9C}" #comfunc global IWaaSAssessor_GetOSUpdateAssessment 3 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。