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

IRegisteredTask

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

メソッド 18

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

vtbl 7 HRESULT get_Name(LPWSTR* pName)
pNameLPWSTR*out登録済みタスクの名前を受け取る出力ポインタである。SysFreeString で解放する。
vtbl 8 HRESULT get_Path(LPWSTR* pPath)
pPathLPWSTR*out登録済みタスクのパスを受け取る出力ポインタである。SysFreeString で解放する。
vtbl 9 HRESULT get_State(TASK_STATE* pState)
pStateTASK_STATE*out登録済みタスクの現在の状態を表す TASK_STATE 値を受け取る変数へのポインタである。
vtbl 10 HRESULT get_Enabled(VARIANT_BOOL* pEnabled)
pEnabledVARIANT_BOOL*outタスクが有効かどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 11 HRESULT put_Enabled(VARIANT_BOOL enabled)
enabledVARIANT_BOOLinタスクの有効・無効を指定する VARIANT_BOOL である。
vtbl 12 HRESULT Run(VARIANT params, IRunningTask** ppRunningTask)
paramsVARIANTinタスクに渡す実行パラメーターを格納した VARIANT である。不要な場合は空の VARIANT を指定する。
ppRunningTaskIRunningTask**out起動された実行中タスク (IRunningTask) を受け取る出力ポインタである。
vtbl 13 HRESULT RunEx(VARIANT params, INT flags, INT sessionID, LPWSTR user, IRunningTask** ppRunningTask)
paramsVARIANTinタスクに渡す実行パラメーターを格納した VARIANT である。
flagsINTin実行時の動作を制御する TASK_RUN_FLAGS の組み合わせを指定する。
sessionIDINTinタスクを実行するターミナルサーバーセッションの ID を指定する。
userLPWSTRinタスクを実行するユーザーを指定する。NULL の場合は登録時のユーザーが使用される。
ppRunningTaskIRunningTask**out起動された実行中タスク (IRunningTask) を受け取る出力ポインタである。
vtbl 14 HRESULT GetInstances(INT flags, IRunningTaskCollection** ppRunningTasks)
flagsINTin取得する実行中インスタンスの種類を制御するフラグを指定する。
ppRunningTasksIRunningTaskCollection**outこのタスクの現在実行中インスタンスのコレクション (IRunningTaskCollection) を受け取る出力ポインタである。
vtbl 15 HRESULT get_LastRunTime(DOUBLE* pLastRunTime)
pLastRunTimeDOUBLE*outタスクが最後に実行された日時を DATE 形式 (DOUBLE) で受け取る変数へのポインタである。
vtbl 16 HRESULT get_LastTaskResult(INT* pLastTaskResult)
pLastTaskResultINT*outタスクの最後の実行結果コードを受け取る変数へのポインタである。
vtbl 17 HRESULT get_NumberOfMissedRuns(INT* pNumberOfMissedRuns)
pNumberOfMissedRunsINT*out実行されなかった (見逃された) 実行回数を受け取る変数へのポインタである。
vtbl 18 HRESULT get_NextRunTime(DOUBLE* pNextRunTime)
pNextRunTimeDOUBLE*outタスクの次回実行予定日時を DATE 形式 (DOUBLE) で受け取る変数へのポインタである。
vtbl 19 HRESULT get_Definition(ITaskDefinition** ppDefinition)
ppDefinitionITaskDefinition**outこのタスクの定義 (ITaskDefinition) を受け取る出力ポインタである。
vtbl 20 HRESULT get_Xml(LPWSTR* pXml)
pXmlLPWSTR*outタスク登録情報を表す XML 文字列を受け取る出力ポインタである。SysFreeString で解放する。
vtbl 21 HRESULT GetSecurityDescriptor(INT securityInformation, LPWSTR* pSddl)
securityInformationINTin取得するセキュリティ情報の種類を示す SECURITY_INFORMATION フラグを指定する。
pSddlLPWSTR*outタスクのセキュリティ記述子を SDDL 形式の文字列で受け取る出力ポインタである。SysFreeString で解放する。
vtbl 22 HRESULT SetSecurityDescriptor(LPWSTR sddl, INT flags)
sddlLPWSTRinタスクに設定するセキュリティ記述子を SDDL 形式の文字列で指定する。
flagsINTinセキュリティ記述子設定時の動作を制御する TASK_CREATION フラグを指定する。
vtbl 23 HRESULT Stop(INT flags)
flagsINTin予約済み。0 を指定する。
vtbl 24 HRESULT GetRunTimes(SYSTEMTIME* pstStart, SYSTEMTIME* pstEnd, DWORD* pCount, SYSTEMTIME** pRunTimes)
pstStartSYSTEMTIME*in実行予定時刻を列挙する範囲の開始日時を指定する SYSTEMTIME 構造体へのポインタである。
pstEndSYSTEMTIME*in実行予定時刻を列挙する範囲の終了日時を指定する SYSTEMTIME 構造体へのポインタである。NULL の場合は無限大として扱われる。
pCountDWORD*inout入力では取得を希望する実行時刻の最大数を指定し、出力では実際に取得された数を受け取る入出力ポインタである。
pRunTimesSYSTEMTIME**out実行予定時刻の配列を受け取る出力ポインタである。配列は CoTaskMemFree で解放する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IRegisteredTask "{9C86F320-DEE3-4DD1-B972-A303F26B061E}"
#usecom global IRegisteredTask IID_IRegisteredTask "{}"
#comfunc global IRegisteredTask_get_Name                7 var
#comfunc global IRegisteredTask_get_Path                8 var
#comfunc global IRegisteredTask_get_State               9 var
#comfunc global IRegisteredTask_get_Enabled             10 var
#comfunc global IRegisteredTask_put_Enabled             11 int
#comfunc global IRegisteredTask_Run                     12 int,sptr
#comfunc global IRegisteredTask_RunEx                   13 int,int,int,wstr,sptr
#comfunc global IRegisteredTask_GetInstances            14 int,sptr
#comfunc global IRegisteredTask_get_LastRunTime         15 var
#comfunc global IRegisteredTask_get_LastTaskResult      16 var
#comfunc global IRegisteredTask_get_NumberOfMissedRuns  17 var
#comfunc global IRegisteredTask_get_NextRunTime         18 var
#comfunc global IRegisteredTask_get_Definition          19 sptr
#comfunc global IRegisteredTask_get_Xml                 20 var
#comfunc global IRegisteredTask_GetSecurityDescriptor   21 int,var
#comfunc global IRegisteredTask_SetSecurityDescriptor   22 wstr,int
#comfunc global IRegisteredTask_Stop                    23 int
#comfunc global IRegisteredTask_GetRunTimes             24 var,var,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。