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

IRepetitionPattern

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID7fb9acf1-26be-400e-85b5-294b9c75dfd6継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

タスクを実行する頻度と、タスクの開始後に繰り返しパターンを繰り返す期間を定義します。

解説(Remarks)

タスクに繰り返し期間を指定する場合は、繰り返し間隔も指定する必要があります。

繰り返し間隔が1分、繰り返し期間が4分のトリガーを含むタスクを登録すると、そのタスクは5回起動されます。この5回の繰り返しは次のパターンで定義されます。

  1. 最初の1分の開始時にタスクが起動します。
  2. 次のタスクは1分目の終わりに起動します。
  3. 次のタスクは2分目の終わりに起動します。
  4. 次のタスクは3分目の終わりに起動します。
  5. 次のタスクは4分目の終わりに起動します。
Windows Server 2003、Windows XP、Windows 2000: 繰り返し間隔が1分、繰り返し期間が4分のトリガーを含むタスクを登録すると、そのタスクは4回起動されます。

タスクのXMLを読み書きする際、繰り返しパターンはTask SchedulerスキーマのRepetition要素で指定します。

このプロパティの詳細とサンプルコードについては、Daily Trigger Example (C++)を参照してください。

メソッド 6

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

vtbl 7 HRESULT get_Interval(LPWSTR* pInterval)

タスクの再起動ごとの間隔となる時間を取得または設定します。(Get)

pIntervalLPWSTR*inoutタスクを繰り返す間隔を表す文字列を受け取る文字列ポインタへのポインタである。

解説(Remarks)

タスクに繰り返し期間を指定する場合は、繰り返し間隔も指定する必要があります。

タスクのXMLを読み書きする際、繰り返し間隔はTask SchedulerスキーマのInterval要素で指定します。

vtbl 8 HRESULT put_Interval(LPWSTR interval)

タスクの再起動ごとの間隔となる時間を取得または設定します。(Put)

intervalLPWSTRinタスクを繰り返す間隔を ISO8601 期間文字列で指定する。

解説(Remarks)

タスクに繰り返し期間を指定する場合は、繰り返し間隔も指定する必要があります。

タスクのXMLを読み書きする際、繰り返し間隔はTask SchedulerスキーマのInterval要素で指定します。

vtbl 9 HRESULT get_Duration(LPWSTR* pDuration)

パターンを繰り返す期間を取得または設定します。(Get)

pDurationLPWSTR*inout繰り返しを継続する全体の期間を表す文字列を受け取る文字列ポインタへのポインタである。

解説(Remarks)

タスクに繰り返し期間を指定する場合は、繰り返し間隔も指定する必要があります。

タスクのXMLを読み書きする際、繰り返し期間はTask SchedulerスキーマのDuration要素で指定します。

vtbl 10 HRESULT put_Duration(LPWSTR duration)

パターンを繰り返す期間を取得または設定します。(Put)

durationLPWSTRin繰り返しを継続する全体の期間を ISO8601 期間文字列で指定する。

解説(Remarks)

タスクに繰り返し期間を指定する場合は、繰り返し間隔も指定する必要があります。

タスクのXMLを読み書きする際、繰り返し期間はTask SchedulerスキーマのDuration要素で指定します。

vtbl 11 HRESULT get_StopAtDurationEnd(VARIANT_BOOL* pStop)

繰り返しパターンの期間の終了時に、実行中のタスクのインスタンスを停止するかどうかを示すBoolean値を取得または設定します。(Get)

pStopVARIANT_BOOL*inout期間の終了時に実行中のタスクを停止するかどうかを表す VARIANT_BOOL を受け取る出力先へのポインタである。

解説(Remarks)

タスクのXMLを読み書きする際、この情報はTask SchedulerスキーマのStopAtDurationEnd要素で指定します。

vtbl 12 HRESULT put_StopAtDurationEnd(VARIANT_BOOL stop)

繰り返しパターンの期間の終了時に、実行中のタスクのインスタンスを停止するかどうかを示すBoolean値を取得または設定します。(Put)

stopVARIANT_BOOLin期間の終了時に実行中のタスクを停止するかどうかを VARIANT_BOOL で指定する。

解説(Remarks)

タスクのXMLを読み書きする際、この情報はTask SchedulerスキーマのStopAtDurationEnd要素で指定します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IRepetitionPattern "{7FB9ACF1-26BE-400E-85B5-294B9C75DFD6}"
#usecom global IRepetitionPattern IID_IRepetitionPattern "{}"
#comfunc global IRepetitionPattern_get_Interval           7 var
#comfunc global IRepetitionPattern_put_Interval           8 wstr
#comfunc global IRepetitionPattern_get_Duration           9 var
#comfunc global IRepetitionPattern_put_Duration           10 wstr
#comfunc global IRepetitionPattern_get_StopAtDurationEnd  11 var
#comfunc global IRepetitionPattern_put_StopAtDurationEnd  12 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。