Metode IScheduledWorkItem::SetAccountInformation (mstask.h)
[[API ini dapat diubah atau tidak tersedia dalam versi sistem operasi atau produk berikutnya. Silakan gunakan Antarmuka Penjadwal Tugas 2.0 sebagai gantinya.] ]
Menyetel nama akun dan kata sandi yang digunakan untuk menjalankan item kerja.
Sintaks
HRESULT SetAccountInformation(
[in] LPCWSTR pwszAccountName,
[in] LPCWSTR pwszPassword
);
Parameter
[in] pwszAccountName
String yang berisi nama akun pengguna yang dihentikan null di mana item kerja akan berjalan. Untuk menentukan akun sistem lokal, gunakan string kosong, L"". Jangan gunakan string lain untuk menentukan akun sistem lokal. Untuk informasi selengkapnya, lihat Keterangan.
[in] pwszPassword
String yang berisi kata sandi untuk akun yang ditentukan dalam pwszAccountName.
Atur parameter ini ke NULL jika akun sistem lokal ditentukan. Jika Anda mengatur bendera TASK_FLAG_RUN_ONLY_IF_LOGGED_ON, Anda juga dapat mengatur pwszPassword ke NULL untuk akun pengguna lokal atau domain. Gunakan metode IScheduledWorkItem::SetFlags untuk mengatur bendera.
Penjadwal Tugas menyimpan informasi akun hanya sekali untuk semua tugas yang menggunakan akun yang sama. Jika kata sandi akun diperbarui untuk satu tugas, maka semua tugas yang menggunakan akun yang sama akan menggunakan kata sandi yang diperbarui.
Setelah Anda selesai menggunakan kata sandi, hapus informasi kata sandi dengan memanggil fungsi SecureZeroMemory . Untuk informasi selengkapnya tentang melindungi kata sandi, lihat Menangani Kata Sandi.
Nilai kembali
Metode SetAccountInformation mengembalikan salah satu nilai berikut. Perhatikan bahwa kesalahan dari panggilan ini juga dapat dikembalikan oleh panggilan berikutnya ke IPersistFile::Save.
Menampilkan kode | Deskripsi |
---|---|
|
Operasi berhasil. |
|
Pemanggil tidak memiliki izin untuk melakukan operasi. Untuk informasi selengkapnya, lihat Keterangan. |
|
Argumen tidak valid. |
|
Tidak tersedia cukup memori. |
|
Layanan keamanan hanya tersedia di Windows Server 2003, Windows XP, dan Windows 2000. |
|
Parameter pwszPassword diatur ke NULL, tetapi bendera TASK_FLAG_RUN_ONLY_IF_LOGGED_ON tidak diatur. |
|
Parameter pwszPassword salah. Di Windows Server 2003, Task Scheduler memvalidasi kata sandi pada saat pekerjaan dibuat (selama panggilan ke IPersistFile::Save). Ketahuilah bahwa jika kesalahan ini terjadi, file pekerjaan akan tetap dibuat. |
Keterangan
Metode ini untuk Windows Server 2003, Windows XP, dan Windows 2000.
Jika pwszAccountName menentukan akun sistem lokal, pemanggil harus menjadi administrator di komputer lokal atau aplikasi yang berjalan di akun sistem lokal. Jika tidak, metode ini akan gagal.
Kata sandi yang ditentukan dalam pwszPassword digunakan untuk masuk ke akun saat item kerja dijalankan. Kata sandi yang salah akan mengakibatkan kesalahan saat item kerja dijalankan. Namun, di Windows Server 2003, Task Scheduler memvalidasi kata sandi pada saat pekerjaan dibuat (selama panggilan ke IPersistFile::Save).
Biasanya, kata sandi memiliki tanggal kedaluwarsa. Jika Anda menjadwalkan tugas yang berjalan tanpa batas waktu, Anda harus memperbarui tugas untuk mencerminkan kata sandi baru.
Perhatikan bahwa kesalahan dapat dikembalikan oleh panggilan awal ke SetAccountInformation atau panggilan berikutnya ke IPersistFile::Save.
Layanan Penjadwal Tugas harus berjalan agar panggilan ini berhasil. (SetAccountInformation menghasilkan panggilan prosedur jarak jauh (RPC) ke layanan Penjadwal Tugas, tetapi panggilan RPC tidak dilakukan sampai IPersistFile::Simpan dipanggil.)
Kode pengembalian E_ACCESSDENIED dikembalikan dalam kondisi berikut:
- Pemanggil tidak memiliki akses tulis ke file yang mewakili item kerja terjadwal.
- Akun lokal ditentukan (pwszAccountName diatur ke L""), tetapi pemanggil bukan administrator di komputer lokal atau aplikasi yang berjalan di akun sistem lokal.
- Kata sandi NULL ditentukan dalam pwszPassword, tetapi pemanggil bukan administrator di komputer lokal, juga tidak berjalan di akun sistem lokal.
- Aplikasi ini berjalan di bawah nama pengguna yang berbeda dari pengguna bernama yang ditentukan dalam parameter pwszAccountName .
Contoh
Untuk informasi selengkapnya dan contoh cara mengatur informasi akun tugas, lihat Contoh Kode C/C++: Mengatur Informasi Akun Tugas.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | mstask.h |
Pustaka | Mstask.lib |
DLL | Mstask.dll |