Fungsi OpenServiceA (winsvc.h)
Membuka layanan yang sudah ada.
Sintaks
SC_HANDLE OpenServiceA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpServiceName,
[in] DWORD dwDesiredAccess
);
Parameter
[in] hSCManager
Handel ke database manajer kontrol layanan. Fungsi OpenSCManager mengembalikan handel ini. Untuk informasi selengkapnya, lihat Keamanan Layanan dan Hak Akses.
[in] lpServiceName
Nama layanan yang akan dibuka. Ini adalah nama yang ditentukan oleh parameter lpServiceName dari fungsi CreateService ketika objek layanan dibuat, bukan nama tampilan layanan yang ditunjukkan oleh aplikasi antarmuka pengguna untuk mengidentifikasi layanan.
Panjang string maksimum adalah 256 karakter. Database manajer kontrol layanan mempertahankan kasus karakter, tetapi perbandingan nama layanan selalu tidak peka huruf besar/kecil. Garis miring (/) dan garis miring terbelakang (\) adalah karakter nama layanan yang tidak valid.
[in] dwDesiredAccess
Akses ke layanan. Untuk daftar hak akses, lihat Keamanan Layanan dan Hak Akses.
Sebelum memberikan akses yang diminta, sistem memeriksa token akses proses panggilan terhadap daftar kontrol akses diskresi pendeskripsi keamanan yang terkait dengan objek layanan.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke layanan.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Kode kesalahan berikut dapat diatur oleh manajer kontrol layanan. Yang lain dapat diatur oleh fungsi registri yang dipanggil oleh manajer kontrol layanan.
Menampilkan kode | Deskripsi |
---|---|
|
Handel tidak memiliki akses ke layanan. |
|
Handel yang ditentukan tidak valid. |
|
Nama layanan yang ditentukan tidak valid. |
|
Layanan yang ditentukan tidak ada. |
Keterangan
Handel yang dikembalikan hanya valid untuk proses yang disebut OpenService. Ini dapat ditutup dengan memanggil fungsi CloseServiceHandle .
Untuk menggunakan OpenService, tidak ada hak istimewa yang diperlukan selain dari SC_MANAGER_CONNECT.
Contoh
Misalnya, lihat Memulai Layanan.
Catatan
Header winsvc.h mendefinisikan OpenService sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winsvc.h (sertakan Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |