Metodo IScheduledWorkItem::SetAccountInformation (mstask.h)
[[Questa API può essere modificata o non disponibile nelle versioni successive del sistema operativo o del prodotto. Usare invece le interfacce dell'utilità di pianificazione 2.0 . ]
Imposta il nome dell'account e la password usati per eseguire l'elemento di lavoro.
Sintassi
HRESULT SetAccountInformation(
[in] LPCWSTR pwszAccountName,
[in] LPCWSTR pwszPassword
);
Parametri
[in] pwszAccountName
Stringa contenente il nome con terminazione null dell'account utente in cui verrà eseguito l'elemento di lavoro. Per specificare l'account di sistema locale, usare la stringa vuota, L"". Non usare alcuna altra stringa per specificare l'account di sistema locale. Per altre informazioni, vedere la sezione Osservazioni.
[in] pwszPassword
Stringa contenente la password per l'account specificato in pwszAccountName.
Impostare questo parametro su NULL se è specificato l'account di sistema locale. Se si imposta il flag TASK_FLAG_RUN_ONLY_IF_LOGGED_ON, è anche possibile impostare pwszPassword su NULL per gli account utente locali o di dominio. Usare il metodo IScheduledWorkItem::SetFlags per impostare il flag.
L'utilità di pianificazione archivia le informazioni sull'account una sola volta per tutte le attività che usano lo stesso account. Se la password dell'account viene aggiornata per un'attività, tutte le attività che usano lo stesso account useranno la password aggiornata.
Al termine dell'uso della password, cancellare le informazioni sulla password chiamando la funzione SecureZeroMemory . Per altre informazioni sulla protezione delle password, vedere Gestione delle password.
Valore restituito
Il metodo SetAccountInformation restituisce uno dei valori seguenti. Si noti che gli errori di questa chiamata possono essere restituiti anche dalla chiamata successiva a IPersistFile::Save.
Codice restituito | Descrizione |
---|---|
|
L'operazione è stata completata. |
|
Il chiamante non dispone dell'autorizzazione per eseguire l'operazione. Per altre informazioni, vedere la sezione Osservazioni. |
|
Gli argomenti non sono validi. |
|
Memoria insufficiente. |
|
I servizi di sicurezza sono disponibili solo in Windows Server 2003, Windows XP e Windows 2000. |
|
Il parametro pwszPassword è stato impostato su NULL, ma il flag di TASK_FLAG_RUN_ONLY_IF_LOGGED_ON non è stato impostato. |
|
Il parametro pwszPassword non è corretto. In Windows Server 2003 l'utilità di pianificazione convalida la password al momento della creazione del processo (durante una chiamata a IPersistFile::Save). Tenere presente che se si verifica questo errore, il file di processo verrà comunque creato. |
Commenti
Questo metodo è per Windows Server 2003, Windows XP e Windows 2000.
Se pwszAccountName specifica l'account di sistema locale, il chiamante deve essere un amministratore nel computer locale o un'applicazione in esecuzione nell'account di sistema locale. In caso contrario, questo metodo avrà esito negativo.
La password specificata in pwszPassword viene usata per accedere all'account quando viene eseguito l'elemento di lavoro. Una password errata genera un errore quando viene eseguito l'elemento di lavoro. In Windows Server 2003, tuttavia, Utilità di pianificazione convalida la password al momento della creazione del processo (durante una chiamata a IPersistFile::Save).
In genere, le password hanno una data di scadenza. Se si pianificano le attività eseguite in modo indefinito, è necessario aggiornare l'attività per riflettere la nuova password.
Si noti che gli errori possono essere restituiti dalla chiamata iniziale a SetAccountInformation o dalla chiamata successiva a IPersistFile::Save.
Il servizio Utilità di pianificazione deve essere in esecuzione per la riuscita di questa chiamata. SetAccountInformation genera una chiamata di routine remota (RPC) al servizio Utilità di pianificazione, ma la chiamata RPC non viene eseguita finché non viene chiamato IPersistFile::Save.
Il codice restituito E_ACCESSDENIED viene restituito in base alle condizioni seguenti:
- Il chiamante non ha accesso in scrittura al file che rappresenta l'elemento di lavoro pianificato.
- L'account locale è stato specificato (pwszAccountName è stato impostato su L"), ma il chiamante non è un amministratore nel computer locale né un'applicazione in esecuzione nell'account di sistema locale.
- Una password NULL è stata specificata in pwszPassword, ma il chiamante non è un amministratore nel computer locale, né è in esecuzione nell'account di sistema locale.
- L'applicazione è in esecuzione con un nome utente diverso rispetto all'utente denominato specificato nel parametro pwszAccountName .
Esempio
Per altre informazioni e un esempio di come impostare le informazioni sull'account di un'attività, vedere Esempio di codice C/C++: Impostazione delle informazioni sull'account attività.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | mstask.h |
Libreria | Mstask.lib |
DLL | Mstask.dll |