IScheduledWorkItem::SetAccountInformation 方法 (mstask.h)

[[此 API 可能會在後續版本的操作系統或產品中變更或無法使用。 請改用 工作排程器 2.0 介面 。] ]

設定用來執行 工作項目的帳戶名稱和密碼。

語法

HRESULT SetAccountInformation(
  [in] LPCWSTR pwszAccountName,
  [in] LPCWSTR pwszPassword
);

參數

[in] pwszAccountName

字串,包含將執行工作專案之用戶帳戶的 Null 終止名稱。 若要指定本機系統帳戶,請使用空字串 L“” 請勿使用任何其他字串來指定本機系統帳戶。 如需詳細資訊,請參閱<備註>。

[in] pwszPassword

字串,包含 pwszAccountName 中指定的帳戶密碼。

如果指定本機系統帳戶,請將此參數設定為 NULL 。 如果您設定 TASK_FLAG_RUN_ONLY_IF_LOGGED_ON 旗標,您也可以針對本機或網域用戶帳戶將 pwszPassword 設定為 NULL 。 使用 IScheduledWorkItem::SetFlags 方法來設定旗標。

工作排程器只會針對所有使用相同的帳戶的工作儲存帳戶資訊一次。 如果帳戶密碼已更新一項工作,則使用該相同帳戶的所有工作都會使用更新的密碼。

當您使用密碼完成時,請呼叫 SecureZeroMemory 函式 來清除密碼資訊。 如需保護密碼的詳細資訊,請參閱 處理密碼

傳回值

SetAccountInformation 方法會傳回下列其中一個值。 請注意,此呼叫的錯誤也可能由 後續呼叫 IPersistFile::Save 傳回。

傳回碼 描述
S_OK
作業成功。
E_ACCESSDENIED
呼叫端沒有執行作業的許可權。 如需詳細資訊,請參閱<備註>。
E_INVALIDARG
自變數無效。
E_OUTOFMEMORY
記憶體不足。
SCHED_E_NO_SECURITY_SERVICES
安全性服務僅適用於 Windows Server 2003、Windows XP 和 Windows 2000。
SCHED_E_UNSUPPORTED_ACCOUNT_OPTION
pwszPassword 參數已設定為 NULL,但未設定TASK_FLAG_RUN_ONLY_IF_LOGGED_ON旗標。
SCHED_E_ACCOUNT_INFORMATION_NOT_SET
pwszPassword 參數不正確。 在 Windows Server 2003 中,工作排程器會在呼叫 IPersistFile::Save) 期間,在建立作業時驗證密碼 (。 請注意,如果發生此錯誤,仍會建立作業檔案。

備註

此方法適用於 Windows Server 2003、Windows XP 和 Windows 2000。

如果 pwszAccountName 指定本機系統帳戶,則呼叫端必須是本機電腦上的系統管理員,或是在本機系統帳戶中執行的應用程式。 如果沒有,這個方法將會失敗。

pwszPassword 中指定的密碼是用來在執行工作專案時登入帳戶。 執行工作專案時,不正確的密碼會導致錯誤。 不過,在 Windows Server 2003 中,工作排程器會在呼叫 IPersistFile::Save) 期間,驗證作業建立時的密碼 (。

密碼通常會有到期日。 如果您無限期地排程執行的工作,您必須更新工作以反映新的密碼。

請注意,初始呼叫 SetAccountInformation 或後續呼叫 IPersistFile::Save 可以傳回錯誤。

工作排程器服務必須執行,此呼叫才能成功。 (SetAccountInformation 會導致遠端過程呼叫 (RPC) 至工作排程器服務,但在 呼叫 IPersistFile::Save 之前不會進行 RPC 呼叫。)

E_ACCESSDENIED傳回碼會在下列情況下傳回:

  • 呼叫端沒有代表已排程工作專案的檔案寫入許可權。
  • 已指定本機帳戶 (pwszAccountName 設定為 L“”“) ,但呼叫端不是本機電腦或本機系統帳戶中執行的應用程式。
  • pwszPassword 中指定了 NULL 密碼,但呼叫者不是本機電腦上的系統管理員,也不會在本機系統帳戶中執行。
  • 應用程式是以與 pwszAccountName 參數中指定的使用者不同的使用者名稱執行。
設定工作專案的帳戶信息之後,請務必呼叫 IPersistFile::Save ,將修改的工作專案物件儲存到磁碟。

範例

如需詳細資訊以及如何設定工作的帳戶資訊範例,請參閱 C/C++ 程式代碼範例:設定工作帳戶資訊

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 mstask.h
程式庫 Mstask.lib
Dll Mstask.dll

另請參閱

IScheduledWorkItem

IScheduledWorkItem::GetAccountInformation

IScheduledWorkItem::SetFlags