ITaskFolder::RegisterTask 方法 (taskschd.h)
使用 XML 來定義工作,在資料夾中註冊 (creates) 新工作。
語法
HRESULT RegisterTask(
[in] BSTR path,
[in] BSTR xmlText,
[in] LONG flags,
[in] VARIANT userId,
[in] VARIANT password,
[in] TASK_LOGON_TYPE logonType,
[in, optional] VARIANT sddl,
[out] IRegisteredTask **ppTask
);
參數
[in] path
工作名稱。 如果此值 NULL,工作將會在根工作資料夾中註冊,而工作名稱會是工作排程器服務所建立的 GUID 值。
工作名稱不能以空格字元開頭或結尾。 '.' 字元無法用來指定目前的工作資料夾和 '.'。 字元無法用來指定路徑中的父工作資料夾。
[in] xmlText
工作的 XML 格式定義。
下列主題包含使用 XML 定義的工作。
- 時間觸發程式範例 (XML)
- 事件觸發程式範例 (XML)
- 每日觸發程式範例 (XML)
- 註冊觸發程式範例 (XML)
- 每周觸發程式範例 (XML)
- 登入觸發程式範例 (XML)
- 開機觸發程式範例 (XML)
[in] flags
TASK_CREATION 常數。
[in] userId
用來註冊工作的用戶認證。
[in] password
用來註冊工作之userId的密碼。 使用TASK_LOGON_SERVICE_ACCOUNT登入類型時,密碼必須是空 VARIANT 值,例如 VT_NULL 或 VT_EMPTY。
[in] logonType
值,定義用來執行已註冊工作的登入技術。
[in, optional] sddl
與已註冊工作相關聯的安全性描述元。 您可以在工作的安全性描述元中指定訪問控制清單 (ACL),以允許或拒絕特定使用者和群組存取工作。
[out] ppTask
代表新工作的 IRegisteredTask 介面。
傳入 NULLIRegisteredTask 介面指標的參考。 參考非NULL 指標可能會導致記憶體流失,因為將會覆寫指標。
傳回值
這個方法可以傳回其中一個值。
傳回碼/值 | 描述 |
---|---|
|
作業已順利完成。 |
|
拒絕存取以連線到工作排程器服務。 |
|
應用程式沒有足夠的記憶體來完成作業,或 使用者 或 密碼 至少有一個 Null 和一個非 Null 值。 |
|
工作已註冊,但可能無法啟動。 必須啟用工作主體的批次登入許可權。 |
|
工作已註冊,但並非所有指定的觸發程式都會啟動工作。 |
言論
針對包含消息框動作的工作,如果工作已啟用且工作具有互動式登入類型,則會顯示消息框。 若要將工作登入類型設定為互動式,請在工作主體的 LogonType 屬性中,或在 ITaskFolder::RegisterTask 或 ITaskFolder::RegisterTaskDefinition的 logonType 參數中指定 TASK_LOGON_INTERACTIVE_TOKEN 或 TASK_LOGON_GROUP。
只有 Administrators 群組的成員可以使用開機觸發程式建立工作。
您可以成功向 userId 參數中指定的群組註冊工作,TASK_LOGON_INTERACTIVE_TOKEN 並在 ITaskFolder::RegisterTaskFolder::RegisterTask 或 ITaskFolder::RegisterTaskDefinition的 logonType 指定,但工作將不會執行。
將TASK_VALIDATE_ONLY和TASK_IGNORE_REGISTRATION_TRIGGERS值一起傳遞至 旗標 參數是無效的自變數。
如果工作定義不存在於工作之 NetworkSettings 設定中的網路,ITaskFolder::RegisterTask 方法會在工作註冊時傳回錯誤0x8000ffff。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | taskschd.h |
連結庫 | Taskschd.lib |
DLL | Taskschd.dll |