Bagikan melalui


Perubahan Layanan untuk Windows Vista

Ada perubahan signifikan pada model layanan untuk meningkatkan performa, keandalan, keamanan, manajemen, dan administrasi layanan.

Tabel berikut ini meringkas penyempurnaan layanan untuk Windows Vista.

Peningkatan Deskripsi
Mulai Otomatis Tertunda
Layanan mulai otomatis tertunda dimulai tak lama setelah sistem dimulai. Ini meningkatkan performa startup sistem sambil tetap menyediakan startup otomatis untuk layanan ini. Untuk mengatur bendera mulai otomatis yang tertunda, panggil fungsi ChangeServiceConfig2 dengan SERVICE_CONFIG_DELAYED_AUTO_START_INFO.
Deteksi dan Pemulihan Kegagalan
Jika layanan gagal, manajer kontrol layanan (SCM) dapat melakukan tindakan kegagalan, seperti memulai ulang layanan dalam upaya untuk pulih dari kegagalan tersebut. Untuk mengonfigurasi tindakan kegagalan, panggil ChangeServiceConfig2 dengan SERVICE_CONFIG_FAILURE_ACTIONS.
Pemberitahuan Preshutdown
Layanan dapat mendaftar untuk menerima pemberitahuan SERVICE_CONTROL_PRESHUTDOWN dalam fungsi HandlerEx sebelum menerima pemberitahuan matikan yang sebenarnya. Ini menyediakan layanan dengan prosedur matikan yang panjang lebih banyak waktu untuk dimatikan dengan lancar. Untuk mengatur nilai waktu habis, panggil ChangeServiceConfig2 dengan SERVICE_CONFIG_PRESHUTDOWN_INFO.
Akses Jaringan Terbatas
Anda dapat menggunakan SID layanan untuk membatasi akses ke port, protokol, atau arah lalu lintas jaringan. Untuk membatasi akses layanan ke jaringan, gunakan antarmuka INetFwServiceRestriction .
Berjalan dengan Hak Istimewa Terkecil
Layanan dapat berjalan di bawah akun apa pun yang berisi hak istimewa yang diperlukan (LocalService, NetworkService, LocalSystem, akun domain, atau akun lokal) dan menunjukkan hak istimewa yang diperlukan dengan memanggil ChangeServiceConfig2 dengan SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO. SCM menghapus hak istimewa apa pun yang tidak diperlukan.
Isolasi Layanan
Layanan dapat mengisolasi objek, seperti file atau kunci registri, untuk penggunaan eksklusifnya dengan mengamankannya dengan entri kontrol akses yang berisi SID layanan. Setelah SID ini ditetapkan ke layanan, pemilik layanan dapat mengubah daftar kontrol akses objek untuk memberikan akses ke SID. Ini memungkinkan layanan untuk mengakses objek tertentu tanpa berjalan di bawah akun hak istimewa tinggi atau menurunkan keamanan pada objek. Untuk mengatur SID layanan, panggil ChangeServiceConfig2 dengan SERVICE_CONFIG_SERVICE_SID_INFO.
Pemberitahuan Perubahan Status Layanan
Layanan dapat mendaftar untuk diberi tahu saat layanan dibuat, dihapus, atau memiliki perubahan status dengan menggunakan fungsi NotifyServiceStatusChange . Ini lebih efisien daripada memanggil fungsi QueryServiceStatusEx dalam perulangan ke polling untuk status.
Isolasi Sesi 0
Layanan selalu berjalan di sesi 0. Sebelum Windows Vista, pengguna pertama yang masuk juga ditetapkan ke sesi 0. Sekarang, sesi 0 dicadangkan secara eksklusif untuk layanan dan aplikasi lain yang tidak terkait dengan sesi pengguna interaktif. (Pengguna pertama yang masuk terhubung ke sesi 1, pengguna kedua yang masuk terhubung ke sesi 2, dan sebagainya.) Sesi 0 tidak mendukung proses yang berinteraksi dengan pengguna.
Perubahan ini berarti bahwa layanan tidak dapat memposting atau mengirim pesan ke aplikasi dan aplikasi tidak dapat mengirim atau memposting pesan ke layanan. Selain itu, layanan tidak dapat menampilkan item antarmuka pengguna seperti kotak dialog secara langsung. Layanan dapat menggunakan fungsi WTSSendMessage untuk menampilkan kotak dialog di sesi lain.

Layanan