ホーム › System.TaskScheduler › IIdleTrigger
IIdleTrigger
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
コンピューターがアイドル状態になったときにタスクを開始するトリガーを表します。
解説(Remarks)
アイドルトリガーは、トリガーの開始境界(start boundary)より後にコンピューターがアイドル状態になった場合にのみ、タスクのアクションをトリガーします。
タスク用の XML を独自に作成する場合、アイドルトリガーは Task Scheduler スキーマの IdleTrigger 要素を使用して指定します。
タスクがアイドルトリガーによってトリガーされた場合、IIdleSettings インターフェイスの WaitTimeout プロパティは無視されます。
アイドルトリガーを持つタスクの最初のインスタンスがまだ実行中の場合、Repetition プロパティで複数回の繰り返しが定義されていても、タスクは繰り返しなしで一度だけ起動されます。この動作は、タスクが自ら停止した場合には発生しません。
メソッド 0
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IIdleTrigger "{D537D2B0-9FB3-4D34-9739-1FF5CE7B1EF3}"
#usecom global IIdleTrigger IID_IIdleTrigger "{}"
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。