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

IMonthlyDOWTrigger

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID77d025a3-90fa-43aa-b52e-cda5499b946a継承元ITrigger呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl20

公式ドキュメント

月内の曜日ベースのスケジュールでタスクを開始するトリガーを表します。

解説(Remarks)

タスクが開始される時刻は StartBoundary プロパティで設定します。

タスクの XML を読み書きするときは、月内の曜日トリガーは Task Scheduler スキーマの ScheduleByMonthDayOfWeek 要素で指定します。

メソッド 10

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

vtbl 20 HRESULT get_DaysOfWeek(SHORT* pDays)

タスクが実行される曜日を取得または設定します。(Get)

pDaysSHORT*inoutトリガーが起動する曜日を表すビットマスクを受け取る変数へのポインタである。

解説(Remarks)

このプロパティで使用されるビットマスクの対応を次の表に示します。

曜日 16進値 10進値
日曜日 0X01 1
月曜日 0x02 2
火曜日 0X04 4
水曜日 0X08 8
木曜日 0X10 16
金曜日 0X20 32
土曜日 0X40 64

タスクの XML を読み書きするときは、月内の曜日カレンダーの曜日は DaysOfWeek 要素で指定します。

vtbl 21 HRESULT put_DaysOfWeek(SHORT days)

タスクが実行される曜日を取得または設定します。(Put)

daysSHORTinトリガーが起動する曜日を表すビットマスクを指定する。

解説(Remarks)

このプロパティで使用されるビットマスクの対応を次の表に示します。

曜日 16進値 10進値
日曜日 0X01 1
月曜日 0x02 2
火曜日 0X04 4
水曜日 0X08 8
木曜日 0X10 16
金曜日 0X20 32
土曜日 0X40 64

タスクの XML を読み書きするときは、月内の曜日カレンダーの曜日は DaysOfWeek 要素で指定します。

vtbl 22 HRESULT get_WeeksOfMonth(SHORT* pWeeks)

タスクが実行される月内の週を取得または設定します。(Get)

pWeeksSHORT*inoutトリガーが起動する月内の週 (第何週か) を表すビットマスクを受け取る変数へのポインタである。

解説(Remarks)

このプロパティで使用されるビットマスクの対応を次の表に示します。0X10 (16) を指定すると、実際の週にかかわらず、月の最終週を明示的に指定できることに注意してください。

16進値 10進値
第1週 0X01 1
第2週 0x02 2
第3週 0X04 4
第4週 0X08 8
最終週 0X10 16

タスクの XML を読み書きするときは、月内の曜日カレンダーの月内の週は Task Scheduler スキーマの Weeks 要素で指定します。

vtbl 23 HRESULT put_WeeksOfMonth(SHORT weeks)

タスクが実行される月内の週を取得または設定します。(Put)

weeksSHORTinトリガーが起動する月内の週 (第何週か) を表すビットマスクを指定する。

解説(Remarks)

このプロパティで使用されるビットマスクの対応を次の表に示します。0X10 (16) を指定すると、実際の週にかかわらず、月の最終週を明示的に指定できることに注意してください。

16進値 10進値
第1週 0X01 1
第2週 0x02 2
第3週 0X04 4
第4週 0X08 8
最終週 0X10 16

タスクの XML を読み書きするときは、月内の曜日カレンダーの月内の週は Task Scheduler スキーマの Weeks 要素で指定します。

vtbl 24 HRESULT get_MonthsOfYear(SHORT* pMonths)

タスクが実行される年内の月を取得または設定します。(IMonthlyDOWTrigger.get_MonthsOfYear)

pMonthsSHORT*inoutトリガーが起動する月を表すビットマスクを受け取る変数へのポインタである。

解説(Remarks)

このプロパティで使用されるビットマスクの対応を次の表に示します。

16進値 10進値
1月 0X01 1
2月 0x02 2
3月 0X04 4
4月 0X08 8
5月 0X10 16
6月 0X20 32
7月 0x40 64
8月 0X80 128
9月 0X100 256
10月 0X200 512
11月 0X400 1024
12月 0X800 2048

タスクの XML を読み書きするときは、月内の曜日カレンダーの年内の月は Task Scheduler スキーマの Months 要素で指定します。

vtbl 25 HRESULT put_MonthsOfYear(SHORT months)

タスクが実行される年内の月を取得または設定します。(IMonthlyDOWTrigger.put_MonthsOfYear)

monthsSHORTinトリガーが起動する月を表すビットマスクを指定する。

解説(Remarks)

このプロパティで使用されるビットマスクの対応を次の表に示します。

16進値 10進値
1月 0X01 1
2月 0x02 2
3月 0X04 4
4月 0X08 8
5月 0X10 16
6月 0X20 32
7月 0x40 64
8月 0X80 128
9月 0X100 256
10月 0X200 512
11月 0X400 1024
12月 0X800 2048

タスクの XML を読み書きするときは、月内の曜日カレンダーの年内の月は Task Scheduler スキーマの Months 要素で指定します。

vtbl 26 HRESULT get_RunOnLastWeekOfMonth(VARIANT_BOOL* pLastWeek)

タスクが月の最終週に実行されることを示す Boolean 値を取得または設定します。(Get)

pLastWeekVARIANT_BOOL*inout月の最終週に起動するかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 27 HRESULT put_RunOnLastWeekOfMonth(VARIANT_BOOL lastWeek)

タスクが月の最終週に実行されることを示す Boolean 値を取得または設定します。(Put)

lastWeekVARIANT_BOOLin月の最終週に起動するかどうかを指定する VARIANT_BOOL である。
vtbl 28 HRESULT get_RandomDelay(LPWSTR* pRandomDelay)

トリガーの開始時刻にランダムに追加される遅延時間を取得または設定します。(IMonthlyDOWTrigger.get_RandomDelay)

pRandomDelayLPWSTR*inoutタスク開始に加算されるランダムな遅延の最大時間を ISO 8601 期間形式の文字列で受け取る出力ポインタである。SysFreeString で解放する。
vtbl 29 HRESULT put_RandomDelay(LPWSTR randomDelay)

トリガーの開始時刻にランダムに追加される遅延時間を取得または設定します。(IMonthlyDOWTrigger.put_RandomDelay)

randomDelayLPWSTRinタスク開始に加算するランダムな遅延の最大時間を ISO 8601 期間形式の文字列で指定する。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IMonthlyDOWTrigger "{77D025A3-90FA-43AA-B52E-CDA5499B946A}"
#usecom global IMonthlyDOWTrigger IID_IMonthlyDOWTrigger "{}"
#comfunc global IMonthlyDOWTrigger_get_DaysOfWeek            20 var
#comfunc global IMonthlyDOWTrigger_put_DaysOfWeek            21 int
#comfunc global IMonthlyDOWTrigger_get_WeeksOfMonth          22 var
#comfunc global IMonthlyDOWTrigger_put_WeeksOfMonth          23 int
#comfunc global IMonthlyDOWTrigger_get_MonthsOfYear          24 var
#comfunc global IMonthlyDOWTrigger_put_MonthsOfYear          25 int
#comfunc global IMonthlyDOWTrigger_get_RunOnLastWeekOfMonth  26 var
#comfunc global IMonthlyDOWTrigger_put_RunOnLastWeekOfMonth  27 int
#comfunc global IMonthlyDOWTrigger_get_RandomDelay           28 var
#comfunc global IMonthlyDOWTrigger_put_RandomDelay           29 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。