ホーム › System.TaskScheduler › ITaskFolder
ITaskFolder
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 13
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| pName | LPWSTR* | out | このフォルダーの名前を受け取る文字列ポインタへのポインタである。 |
| pPath | LPWSTR* | out | このフォルダーのパスを受け取る文字列ポインタへのポインタである。 |
vtbl 9 HRESULT GetFolder(LPWSTR path, ITaskFolder** ppFolder)
| path | LPWSTR | in | 取得するサブフォルダーのパスを指定する。 |
| ppFolder | ITaskFolder** | out | 取得したフォルダーを表す ITaskFolder インターフェイスを受け取るポインタへのポインタである。 |
vtbl 10 HRESULT GetFolders(INT flags, ITaskFolderCollection** ppFolders)
| flags | INT | in | 予約済みのフラグであり、0 を指定する。 |
| ppFolders | ITaskFolderCollection** | out | サブフォルダーのコレクションを表す ITaskFolderCollection インターフェイスを受け取るポインタへのポインタである。 |
vtbl 11 HRESULT CreateFolder(LPWSTR subFolderName, VARIANT sddl, ITaskFolder** ppFolder)
| subFolderName | LPWSTR | in | 作成するサブフォルダーの名前またはパスを指定する。 |
| sddl | VARIANT | in | 新規フォルダーに適用するセキュリティ記述子を SDDL 文字列として格納した VARIANT を指定する。既定のセキュリティでよい場合は空の VARIANT を渡す。 |
| ppFolder | ITaskFolder** | out | 作成したフォルダーを表す ITaskFolder インターフェイスを受け取るポインタへのポインタである。 |
| subFolderName | LPWSTR | in | 削除するサブフォルダーの名前を指定する。 |
| flags | INT | in | 予約済みのフラグであり、0 を指定する。 |
vtbl 13 HRESULT GetTask(LPWSTR path, IRegisteredTask** ppTask)
| path | LPWSTR | in | 取得するタスクのパスを指定する。 |
| ppTask | IRegisteredTask** | out | 取得したタスクを表す IRegisteredTask インターフェイスを受け取るポインタへのポインタである。 |
vtbl 14 HRESULT GetTasks(INT flags, IRegisteredTaskCollection** ppTasks)
| flags | INT | in | 非表示タスクを含めるかどうかを示す TASK_ENUM_FLAGS の値を指定する。 |
| ppTasks | IRegisteredTaskCollection** | out | フォルダー内の登録済みタスクのコレクションを表す IRegisteredTaskCollection インターフェイスを受け取るポインタへのポインタである。 |
| name | LPWSTR | in | 削除するタスクの名前を指定する。 |
| flags | INT | in | 予約済みのフラグであり、0 を指定する。 |
vtbl 16 HRESULT RegisterTask(LPWSTR path, LPWSTR xmlText, INT flags, VARIANT userId, VARIANT password, TASK_LOGON_TYPE logonType, VARIANT sddl, IRegisteredTask** ppTask)
| path | LPWSTR | in | 登録するタスクの名前またはパスを指定する。NULL を指定すると GUID 名のタスクが作成される。 |
| xmlText | LPWSTR | in | タスク定義を表す XML テキストを指定する。 |
| flags | INT | in | タスクの作成・更新方法を示す TASK_CREATION フラグを指定する。 |
| userId | VARIANT | in | タスクの実行に使用するユーザーアカウントを格納した VARIANT を指定する。 |
| password | VARIANT | in | 指定ユーザーのパスワードを格納した VARIANT を指定する。不要な場合は空の VARIANT を渡す。 |
| logonType | TASK_LOGON_TYPE | in | タスク実行時のログオン方法 (TASK_LOGON_TYPE) を指定する。 |
| sddl | VARIANT | in | タスクに適用するセキュリティ記述子を SDDL 文字列として格納した VARIANT を指定する。 |
| ppTask | IRegisteredTask** | out | 登録したタスクを表す IRegisteredTask インターフェイスを受け取るポインタへのポインタである。 |
vtbl 17 HRESULT RegisterTaskDefinition(LPWSTR path, ITaskDefinition* pDefinition, INT flags, VARIANT userId, VARIANT password, TASK_LOGON_TYPE logonType, VARIANT sddl, IRegisteredTask** ppTask)
| path | LPWSTR | in | 登録するタスクの名前またはパスを指定する。NULL を指定すると GUID 名のタスクが作成される。 |
| pDefinition | ITaskDefinition* | inoptional | 登録するタスクの定義を表す ITaskDefinition インターフェイスへのポインタである。 |
| flags | INT | in | タスクの作成・更新方法を示す TASK_CREATION フラグを指定する。 |
| userId | VARIANT | in | タスクの実行に使用するユーザーアカウントを格納した VARIANT を指定する。 |
| password | VARIANT | in | 指定ユーザーのパスワードを格納した VARIANT を指定する。不要な場合は空の VARIANT を渡す。 |
| logonType | TASK_LOGON_TYPE | in | タスク実行時のログオン方法 (TASK_LOGON_TYPE) を指定する。 |
| sddl | VARIANT | in | タスクに適用するセキュリティ記述子を SDDL 文字列として格納した VARIANT を指定する。 |
| ppTask | IRegisteredTask** | out | 登録したタスクを表す IRegisteredTask インターフェイスを受け取るポインタへのポインタである。 |
| securityInformation | INT | in | 取得するセキュリティ情報の種類を示す SECURITY_INFORMATION のビットフラグを指定する。 |
| pSddl | LPWSTR* | out | フォルダーのセキュリティ記述子を表す SDDL 文字列を受け取る文字列ポインタへのポインタである。 |
| sddl | LPWSTR | in | フォルダーに設定するセキュリティ記述子を SDDL 文字列で指定する。 |
| flags | INT | in | セキュリティ記述子の設定方法を示すフラグ (TASK_CREATION) を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITaskFolder "{8CFAC062-A080-4C15-9A88-AA7C2AF80DFC}" #usecom global ITaskFolder IID_ITaskFolder "{}" #comfunc global ITaskFolder_get_Name 7 var #comfunc global ITaskFolder_get_Path 8 var #comfunc global ITaskFolder_GetFolder 9 wstr,sptr #comfunc global ITaskFolder_GetFolders 10 int,sptr #comfunc global ITaskFolder_CreateFolder 11 wstr,int,sptr #comfunc global ITaskFolder_DeleteFolder 12 wstr,int #comfunc global ITaskFolder_GetTask 13 wstr,sptr #comfunc global ITaskFolder_GetTasks 14 int,sptr #comfunc global ITaskFolder_DeleteTask 15 wstr,int #comfunc global ITaskFolder_RegisterTask 16 wstr,wstr,int,int,int,int,int,sptr #comfunc global ITaskFolder_RegisterTaskDefinition 17 wstr,sptr,int,int,int,int,int,sptr #comfunc global ITaskFolder_GetSecurityDescriptor 18 int,var #comfunc global ITaskFolder_SetSecurityDescriptor 19 wstr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITaskFolder "{8CFAC062-A080-4C15-9A88-AA7C2AF80DFC}" #usecom global ITaskFolder IID_ITaskFolder "{}" #comfunc global ITaskFolder_get_Name 7 sptr #comfunc global ITaskFolder_get_Path 8 sptr #comfunc global ITaskFolder_GetFolder 9 wstr,sptr #comfunc global ITaskFolder_GetFolders 10 int,sptr #comfunc global ITaskFolder_CreateFolder 11 wstr,int,sptr #comfunc global ITaskFolder_DeleteFolder 12 wstr,int #comfunc global ITaskFolder_GetTask 13 wstr,sptr #comfunc global ITaskFolder_GetTasks 14 int,sptr #comfunc global ITaskFolder_DeleteTask 15 wstr,int #comfunc global ITaskFolder_RegisterTask 16 wstr,wstr,int,int,int,int,int,sptr #comfunc global ITaskFolder_RegisterTaskDefinition 17 wstr,sptr,int,int,int,int,int,sptr #comfunc global ITaskFolder_GetSecurityDescriptor 18 int,sptr #comfunc global ITaskFolder_SetSecurityDescriptor 19 wstr,int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。