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

ITaskFolder

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

メソッド 13

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

vtbl 7 HRESULT get_Name(LPWSTR* pName)
pNameLPWSTR*outこのフォルダーの名前を受け取る文字列ポインタへのポインタである。
vtbl 8 HRESULT get_Path(LPWSTR* pPath)
pPathLPWSTR*outこのフォルダーのパスを受け取る文字列ポインタへのポインタである。
vtbl 9 HRESULT GetFolder(LPWSTR path, ITaskFolder** ppFolder)
pathLPWSTRin取得するサブフォルダーのパスを指定する。
ppFolderITaskFolder**out取得したフォルダーを表す ITaskFolder インターフェイスを受け取るポインタへのポインタである。
vtbl 10 HRESULT GetFolders(INT flags, ITaskFolderCollection** ppFolders)
flagsINTin予約済みのフラグであり、0 を指定する。
ppFoldersITaskFolderCollection**outサブフォルダーのコレクションを表す ITaskFolderCollection インターフェイスを受け取るポインタへのポインタである。
vtbl 11 HRESULT CreateFolder(LPWSTR subFolderName, VARIANT sddl, ITaskFolder** ppFolder)
subFolderNameLPWSTRin作成するサブフォルダーの名前またはパスを指定する。
sddlVARIANTin新規フォルダーに適用するセキュリティ記述子を SDDL 文字列として格納した VARIANT を指定する。既定のセキュリティでよい場合は空の VARIANT を渡す。
ppFolderITaskFolder**out作成したフォルダーを表す ITaskFolder インターフェイスを受け取るポインタへのポインタである。
vtbl 12 HRESULT DeleteFolder(LPWSTR subFolderName, INT flags)
subFolderNameLPWSTRin削除するサブフォルダーの名前を指定する。
flagsINTin予約済みのフラグであり、0 を指定する。
vtbl 13 HRESULT GetTask(LPWSTR path, IRegisteredTask** ppTask)
pathLPWSTRin取得するタスクのパスを指定する。
ppTaskIRegisteredTask**out取得したタスクを表す IRegisteredTask インターフェイスを受け取るポインタへのポインタである。
vtbl 14 HRESULT GetTasks(INT flags, IRegisteredTaskCollection** ppTasks)
flagsINTin非表示タスクを含めるかどうかを示す TASK_ENUM_FLAGS の値を指定する。
ppTasksIRegisteredTaskCollection**outフォルダー内の登録済みタスクのコレクションを表す IRegisteredTaskCollection インターフェイスを受け取るポインタへのポインタである。
vtbl 15 HRESULT DeleteTask(LPWSTR name, INT flags)
nameLPWSTRin削除するタスクの名前を指定する。
flagsINTin予約済みのフラグであり、0 を指定する。
vtbl 16 HRESULT RegisterTask(LPWSTR path, LPWSTR xmlText, INT flags, VARIANT userId, VARIANT password, TASK_LOGON_TYPE logonType, VARIANT sddl, IRegisteredTask** ppTask)
pathLPWSTRin登録するタスクの名前またはパスを指定する。NULL を指定すると GUID 名のタスクが作成される。
xmlTextLPWSTRinタスク定義を表す XML テキストを指定する。
flagsINTinタスクの作成・更新方法を示す TASK_CREATION フラグを指定する。
userIdVARIANTinタスクの実行に使用するユーザーアカウントを格納した VARIANT を指定する。
passwordVARIANTin指定ユーザーのパスワードを格納した VARIANT を指定する。不要な場合は空の VARIANT を渡す。
logonTypeTASK_LOGON_TYPEinタスク実行時のログオン方法 (TASK_LOGON_TYPE) を指定する。
sddlVARIANTinタスクに適用するセキュリティ記述子を SDDL 文字列として格納した VARIANT を指定する。
ppTaskIRegisteredTask**out登録したタスクを表す IRegisteredTask インターフェイスを受け取るポインタへのポインタである。
vtbl 17 HRESULT RegisterTaskDefinition(LPWSTR path, ITaskDefinition* pDefinition, INT flags, VARIANT userId, VARIANT password, TASK_LOGON_TYPE logonType, VARIANT sddl, IRegisteredTask** ppTask)
pathLPWSTRin登録するタスクの名前またはパスを指定する。NULL を指定すると GUID 名のタスクが作成される。
pDefinitionITaskDefinition*inoptional登録するタスクの定義を表す ITaskDefinition インターフェイスへのポインタである。
flagsINTinタスクの作成・更新方法を示す TASK_CREATION フラグを指定する。
userIdVARIANTinタスクの実行に使用するユーザーアカウントを格納した VARIANT を指定する。
passwordVARIANTin指定ユーザーのパスワードを格納した VARIANT を指定する。不要な場合は空の VARIANT を渡す。
logonTypeTASK_LOGON_TYPEinタスク実行時のログオン方法 (TASK_LOGON_TYPE) を指定する。
sddlVARIANTinタスクに適用するセキュリティ記述子を SDDL 文字列として格納した VARIANT を指定する。
ppTaskIRegisteredTask**out登録したタスクを表す IRegisteredTask インターフェイスを受け取るポインタへのポインタである。
vtbl 18 HRESULT GetSecurityDescriptor(INT securityInformation, LPWSTR* pSddl)
securityInformationINTin取得するセキュリティ情報の種類を示す SECURITY_INFORMATION のビットフラグを指定する。
pSddlLPWSTR*outフォルダーのセキュリティ記述子を表す SDDL 文字列を受け取る文字列ポインタへのポインタである。
vtbl 19 HRESULT SetSecurityDescriptor(LPWSTR sddl, INT flags)
sddlLPWSTRinフォルダーに設定するセキュリティ記述子を SDDL 文字列で指定する。
flagsINTinセキュリティ記述子の設定方法を示すフラグ (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 不要)。