Program Layanan

Program layanan berisi kode yang dapat dieksekusi untuk satu atau beberapa layanan. Program layanan yang dibuat dengan jenis SERVICE_WIN32_OWN_PROCESS berisi kode hanya untuk satu layanan. Program layanan yang dibuat dengan jenis SERVICE_WIN32_SHARE_PROCESS berisi kode untuk lebih dari satu layanan, memungkinkannya berbagi kode. Contoh program layanan yang melakukan ini adalah proses host layanan generik, Svchost.exe, yang menghosting layanan Windows internal. Perhatikan bahwa Svchost.exe disediakan untuk digunakan oleh sistem operasi dan tidak boleh digunakan oleh layanan non-Windows. Sebagai gantinya, pengembang harus menerapkan program hosting layanan mereka sendiri.

Program layanan dapat dikonfigurasi untuk dijalankan dalam konteks akun pengguna dari domain bawaan (lokal), utama, atau tepercaya. Ini juga dapat dikonfigurasi untuk berjalan di akun pengguna layanan khusus.

Topik berikut menjelaskan persyaratan antarmuka manajer kontrol layanan (SCM) yang harus disertakan oleh program layanan:

Topik-topik ini tidak berlaku untuk layanan driver. Untuk persyaratan antarmuka layanan driver, lihat Windows Driver Kit (WDK).

Layanan berjalan sebagai proses latar belakang yang dapat memengaruhi performa sistem, responsivitas, efisiensi energi, dan keamanan. Untuk panduan pengoptimalan layanan, lihat Mengembangkan Proses Latar Belakang yang Efisien untuk Windows. Topik berikut menjelaskan pertimbangan pemrograman tambahan:

Perhatikan bahwa jika program layanan berfungsi sebagai server RPC, program harus menggunakan titik akhir dinamis dan autentikasi bersama.