Win32 API 日本語リファレンス
ホームSystem.UpdateAgent › IAutomaticUpdatesSettings

IAutomaticUpdatesSettings

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID2ee48f22-af3c-405f-8970-f71be12ee9a2継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

自動更新で利用可能な設定を保持します。(IAutomaticUpdatesSettings)

解説(Remarks)

Note Windows 8 および Windows Server 2012 以降では、ScheduledInstallationDayScheduledInstallationTime はサポートされておらず、信頼できない値を返します。これらのプロパティを変更しようとすると、操作は成功したように見えますが、実際には何の効果もありません。
Note Windows RT では、IAutomaticUpdatesSettings::Save メソッドを使用して Windows Update の設定をプログラムから構成することはできなくなりました。Save を使用して 4 (aunlScheduledInstallation) 以外の値を設定すると、構成操作は失敗します。

メソッド 10

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_NotificationLevel(AutomaticUpdatesNotificationLevel* retval)

自動更新イベントについてユーザーに通知する方法を取得および設定します。(Get)

retvalAutomaticUpdatesNotificationLevel*out自動更新の通知レベル (AutomaticUpdatesNotificationLevel) を受け取る出力先へのポインタである。
vtbl 8 HRESULT put_NotificationLevel(AutomaticUpdatesNotificationLevel value)

自動更新イベントについてユーザーに通知する方法を取得および設定します。(Put)

valueAutomaticUpdatesNotificationLevelin自動更新の通知レベル (AutomaticUpdatesNotificationLevel) を指定する。
vtbl 9 HRESULT get_ReadOnly(VARIANT_BOOL* retval)

自動更新の設定が読み取り専用かどうかを示すブール値を取得します。

retvalVARIANT_BOOL*out自動更新設定が読み取り専用かどうかを表す VARIANT_BOOL を受け取る出力先へのポインタである。

解説(Remarks)

次のいずれかの条件が真である場合、ReadOnlyVARIANT_TRUE になります。

呼び出し元が IAutomaticUpdatesSettings インターフェイスの設定を変更できるのは、ReadOnlyVARIANT_FALSE の場合のみです。 ReadOnly の値は、Refresh の呼び出し後に変化することがあります。

vtbl 10 HRESULT get_Required(VARIANT_BOOL* retval)

グループポリシーが自動更新サービスを必須としているかどうかを示すブール値を取得します。

retvalVARIANT_BOOL*out自動更新の構成が必須かどうかを表す VARIANT_BOOL を受け取る出力先へのポインタである。
vtbl 11 HRESULT get_ScheduledInstallationDay(AutomaticUpdatesScheduledInstallationDay* retval)

自動更新が更新プログラムのインストールまたはアンインストールを行う曜日を取得および設定します。(Get)

retvalAutomaticUpdatesScheduledInstallationDay*out更新をインストールする予定の曜日 (AutomaticUpdatesScheduledInstallationDay) を受け取る出力先へのポインタである。

解説(Remarks)

NotificationLevel プロパティの値が aunlScheduledInstallation でない場合、このプロパティの値は無視されます。

Note Windows 8 および Windows Server 2012 以降では、ScheduledInstallationDay はサポートされておらず、信頼できない値を返します。ScheduledInstallationDay を変更しようとすると、操作は成功したように見えますが、実際には何の効果もありません。
vtbl 12 HRESULT put_ScheduledInstallationDay(AutomaticUpdatesScheduledInstallationDay value)

自動更新が更新プログラムのインストールまたはアンインストールを行う曜日を取得および設定します。(Put)

valueAutomaticUpdatesScheduledInstallationDayin更新をインストールする予定の曜日 (AutomaticUpdatesScheduledInstallationDay) を指定する。

解説(Remarks)

NotificationLevel プロパティの値が aunlScheduledInstallation でない場合、このプロパティの値は無視されます。

Note Windows 8 および Windows Server 2012 以降では、ScheduledInstallationDay はサポートされておらず、信頼できない値を返します。ScheduledInstallationDay を変更しようとすると、操作は成功したように見えますが、実際には何の効果もありません。
vtbl 13 HRESULT get_ScheduledInstallationTime(INT* retval)

自動更新が更新プログラムのインストールまたはアンインストールを行う時刻を取得および設定します。(Get)

retvalINT*out更新をインストールする予定の時刻 (時) を受け取る出力先へのポインタである。

解説(Remarks)

時刻は次の値を使用して設定します。

時刻
0 00:00
1 01:00
2 02:00
3 03:00
4 04:00
5 05:00
6 06:00
7 07:00
8 08:00
9 09:00
10 10:00
11 11:00
12 12:00
13 13:00
14 14:00
15 15:00
16 16:00
17 17:00
18 18:00
19 19:00
20 20:00
21 21:00
22 22:00
23 23:00

NotificationLevel プロパティの値が aunlScheduledInstallation でない場合、このプロパティの値は無視されます。

Note Windows 8 および Windows Server 2012 以降では、ScheduledInstallationTime はサポートされておらず、信頼できない値を返します。ScheduledInstallationTime を変更しようとすると、操作は成功したように見えますが、実際には何の効果もありません。
vtbl 14 HRESULT put_ScheduledInstallationTime(INT value)

自動更新が更新プログラムのインストールまたはアンインストールを行う時刻を取得および設定します。(Put)

valueINTin更新をインストールする予定の時刻 (0〜23 の時) を指定する。

解説(Remarks)

時刻は次の値を使用して設定します。

時刻
0 00:00
1 01:00
2 02:00
3 03:00
4 04:00
5 05:00
6 06:00
7 07:00
8 08:00
9 09:00
10 10:00
11 11:00
12 12:00
13 13:00
14 14:00
15 15:00
16 16:00
17 17:00
18 18:00
19 19:00
20 20:00
21 21:00
22 22:00
23 23:00

NotificationLevel プロパティの値が aunlScheduledInstallation でない場合、このプロパティの値は無視されます。

Note Windows 8 および Windows Server 2012 以降では、ScheduledInstallationTime はサポートされておらず、信頼できない値を返します。ScheduledInstallationTime を変更しようとすると、操作は成功したように見えますが、実際には何の効果もありません。
vtbl 15 HRESULT Refresh()

最新の自動更新設定を取得します。

戻り値

成功した場合は S_OK を返します。それ以外の場合は、COM または Windows のエラーコードを返します。

解説(Remarks)

Refresh を呼び出すと、Save メソッドで保存されていない設定の変更がすべてリセットされます。

Note Windows RT では、IAutomaticUpdatesSettings::Save メソッドを使用して Windows Update の設定をプログラムから構成することはできなくなりました。Save を使用して 4 (aunlScheduledInstallation) 以外の値を設定すると、構成操作は失敗します。
vtbl 16 HRESULT Save()

現在の自動更新設定を適用します。

戻り値

成功した場合は S_OK を返します。それ以外の場合は、COM または Windows のエラーコードを返します。

解説(Remarks)

NotificationLevel の値を Disabled 以外にして設定を保存すると、自動更新サービスが開始されます。

Note Windows RT では、Save メソッドを使用して Windows Update の設定をプログラムから構成することはできなくなりました。Save を使用して 4 (aunlScheduledInstallation) 以外の値を設定すると、構成操作は失敗します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IAutomaticUpdatesSettings "{2EE48F22-AF3C-405F-8970-F71BE12EE9A2}"
#usecom global IAutomaticUpdatesSettings IID_IAutomaticUpdatesSettings "{}"
#comfunc global IAutomaticUpdatesSettings_get_NotificationLevel          7 var
#comfunc global IAutomaticUpdatesSettings_put_NotificationLevel          8 int
#comfunc global IAutomaticUpdatesSettings_get_ReadOnly                   9 var
#comfunc global IAutomaticUpdatesSettings_get_Required                   10 var
#comfunc global IAutomaticUpdatesSettings_get_ScheduledInstallationDay   11 var
#comfunc global IAutomaticUpdatesSettings_put_ScheduledInstallationDay   12 int
#comfunc global IAutomaticUpdatesSettings_get_ScheduledInstallationTime  13 var
#comfunc global IAutomaticUpdatesSettings_put_ScheduledInstallationTime  14 int
#comfunc global IAutomaticUpdatesSettings_Refresh                        15
#comfunc global IAutomaticUpdatesSettings_Save                           16
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。