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

IMaintenanceSettings

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

公式ドキュメント

自動メンテナンス中にタスクを実行するために Task Scheduler が使用する設定を提供します。

メソッド 6

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

vtbl 7 HRESULT put_Period(LPWSTR value)

通常の自動メンテナンス中にタスクを 1 回実行するために必要な時間を取得または設定します。(Put)

valueLPWSTRinメンテナンスを実行する間隔 (期間) を ISO8601 期間文字列で指定する。

解説(Remarks)

このプロパティの最小値は 1 日 (P1D) です。

タスクの XML を読み書きする場合、この設定は Task Scheduler スキーマの Period 要素で指定します。

vtbl 8 HRESULT get_Period(LPWSTR* target)

通常の自動メンテナンス中にタスクを 1 回実行するために必要な時間を取得または設定します。(Get)

targetLPWSTR*inoutメンテナンスを実行する間隔を表す文字列を受け取る文字列ポインタへのポインタである。

解説(Remarks)

このプロパティの最小値は 1 日 (P1D) です。

タスクの XML を読み書きする場合、この設定は Task Scheduler スキーマの Period 要素で指定します。

vtbl 9 HRESULT put_Deadline(LPWSTR value)

通常の自動メンテナンス中にタスクが完了できなかった場合に、Task Scheduler が緊急の自動メンテナンス中にタスクの実行を試みるまでの時間を取得または設定します。(Put)

valueLPWSTRinメンテナンスを完了すべき期限 (デッドライン) を ISO8601 期間文字列で指定する。

解説(Remarks)

このプロパティの値は Period プロパティの値よりも大きくする必要があります。

タスクの XML を読み書きする場合、この設定は Task Scheduler スキーマの Deadline 要素で指定します。

vtbl 10 HRESULT get_Deadline(LPWSTR* target)

通常の自動メンテナンス中にタスクが完了できなかった場合に、Task Scheduler が緊急の自動メンテナンス中にタスクの実行を試みるまでの時間を取得または設定します。(Get)

targetLPWSTR*inoutメンテナンスのデッドラインを表す文字列を受け取る文字列ポインタへのポインタである。

解説(Remarks)

このプロパティの値は Period プロパティの値よりも大きくする必要があります。

タスクの XML を読み書きする場合、この設定は Task Scheduler スキーマの Deadline 要素で指定します。

vtbl 11 HRESULT put_Exclusive(VARIANT_BOOL value)

Task Scheduler が自動メンテナンス中にタスクを排他モードで開始する必要があるかどうかを示します。(Put)

valueVARIANT_BOOLin他のメンテナンスタスクを排他的に実行するかどうかを VARIANT_BOOL で指定する。

解説(Remarks)

タスクを排他モードで開始するとは、このタスクと並行して他のメンテナンスタスクが開始されないことを意味します。排他性は、実行順序においてタスクに優先度を保証するものではありません。

タスクの XML を読み書きする場合、この設定は Task Scheduler スキーマの Exclusive 要素で指定します。

vtbl 12 HRESULT get_Exclusive(VARIANT_BOOL* target)

Task Scheduler が自動メンテナンス中にタスクを排他モードで開始する必要があるかどうかを示します。(Get)

targetVARIANT_BOOL*inoutメンテナンスを排他的に実行するかどうかを表す VARIANT_BOOL を受け取る出力先へのポインタである。

解説(Remarks)

タスクを排他モードで開始するとは、このタスクと並行して他のメンテナンスタスクが開始されないことを意味します。排他性は、実行順序においてタスクに優先度を保証するものではありません。

タスクの XML を読み書きする場合、この設定は Task Scheduler スキーマの Exclusive 要素で指定します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IMaintenanceSettings "{A6024FA8-9652-4ADB-A6BF-5CFCD877A7BA}"
#usecom global IMaintenanceSettings IID_IMaintenanceSettings "{}"
#comfunc global IMaintenanceSettings_put_Period     7 wstr
#comfunc global IMaintenanceSettings_get_Period     8 var
#comfunc global IMaintenanceSettings_put_Deadline   9 wstr
#comfunc global IMaintenanceSettings_get_Deadline   10 var
#comfunc global IMaintenanceSettings_put_Exclusive  11 int
#comfunc global IMaintenanceSettings_get_Exclusive  12 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。