ITaskSettings2
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
タスク スケジューラがタスクを実行する際に使用する拡張設定を提供します。(ITaskSettings2)
解説(Remarks)
タスクの XML を読み書きする際、タスク設定はタスク スケジューラ スキーマの Settings 要素で定義されます。
例
このインターフェースの詳細とコード例については、Time Trigger Example (C++) を参照してください。
メソッド 4
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
RAIL (Remote Applications Integrated Locally) セッションでの実行がトリガーされた場合にタスクを開始しないことを指定する Boolean 値を取得または設定します。(Get)
| pDisallowStart | VARIANT_BOOL* | inout | リモートアプリセッションでのタスク開始を禁止するかどうかを表す VARIANT_BOOL を受け取る出力先へのポインタである。 |
解説(Remarks)
タスクの XML を読み書きする際、この設定はタスク スケジューラ スキーマの DisallowStartOnRemoteAppSession 要素で指定されます。
RAIL (Remote Applications Integrated Locally) セッションでの実行がトリガーされた場合にタスクを開始しないことを指定する Boolean 値を取得または設定します。(Put)
| disallowStart | VARIANT_BOOL | in | リモートアプリセッションでのタスク開始を禁止するかどうかを VARIANT_BOOL で指定する。 |
解説(Remarks)
タスクの XML を読み書きする際、この設定はタスク スケジューラ スキーマの DisallowStartOnRemoteAppSession 要素で指定されます。
このタスクの実行に統合スケジューリング エンジン (Unified Scheduling Engine) を利用することを示す Boolean 値を取得または設定します。(Get)
| pUseUnifiedEngine | VARIANT_BOOL* | inout | 統合スケジューリングエンジンを使用するかどうかを表す VARIANT_BOOL を受け取る出力先へのポインタである。 |
解説(Remarks)
タスクの XML を読み書きする際、この設定はタスク スケジューラ スキーマの UseUnifiedSchedulingEngine 要素で指定されます。
このタスクの実行に統合スケジューリング エンジン (Unified Scheduling Engine) を利用することを示す Boolean 値を取得または設定します。(Put)
| useUnifiedEngine | VARIANT_BOOL | in | 統合スケジューリングエンジンを使用するかどうかを VARIANT_BOOL で指定する。 |
解説(Remarks)
タスクの XML を読み書きする際、この設定はタスク スケジューラ スキーマの UseUnifiedSchedulingEngine 要素で指定されます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITaskSettings2 "{2C05C3F0-6EED-4C05-A15F-ED7D7A98A369}" #usecom global ITaskSettings2 IID_ITaskSettings2 "{}" #comfunc global ITaskSettings2_get_DisallowStartOnRemoteAppSession 7 var #comfunc global ITaskSettings2_put_DisallowStartOnRemoteAppSession 8 int #comfunc global ITaskSettings2_get_UseUnifiedSchedulingEngine 9 var #comfunc global ITaskSettings2_put_UseUnifiedSchedulingEngine 10 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITaskSettings2 "{2C05C3F0-6EED-4C05-A15F-ED7D7A98A369}" #usecom global ITaskSettings2 IID_ITaskSettings2 "{}" #comfunc global ITaskSettings2_get_DisallowStartOnRemoteAppSession 7 sptr #comfunc global ITaskSettings2_put_DisallowStartOnRemoteAppSession 8 int #comfunc global ITaskSettings2_get_UseUnifiedSchedulingEngine 9 sptr #comfunc global ITaskSettings2_put_UseUnifiedSchedulingEngine 10 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。