Fungsi GetServiceKeyNameA (winsvc.h)
Mengambil nama layanan dari layanan yang ditentukan.
Sintaks
BOOL GetServiceKeyNameA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpDisplayName,
[out, optional] LPSTR lpServiceName,
[in, out] LPDWORD lpcchBuffer
);
Parameter
[in] hSCManager
Handel ke database manajer kontrol layanan komputer, seperti yang dikembalikan oleh OpenSCManager.
[in] lpDisplayName
Nama tampilan layanan. String ini memiliki panjang maksimum 256 karakter.
[out, optional] lpServiceName
Penunjuk ke buffer yang menerima nama layanan. Jika fungsi gagal, buffer ini akan berisi string kosong.
Ukuran maksimum array ini adalah 4K byte. Untuk menentukan ukuran yang diperlukan, tentukan NULL untuk parameter ini dan 0 untuk parameter lpcchBuffer . Fungsi akan gagal dan GetLastError akan mengembalikan ERROR_INSUFFICIENT_BUFFER. Parameter lpcchBuffer akan menerima ukuran yang diperlukan.
[in, out] lpcchBuffer
Penunjuk ke variabel yang menentukan ukuran buffer yang diacu oleh parameter lpServiceName , dalam TCHAR. Ketika fungsi kembali, parameter ini berisi ukuran nama layanan, dalam TCHAR, tidak termasuk karakter null-terminating.
Jika buffer yang diacu oleh lpServiceName terlalu kecil untuk memuat nama layanan, fungsi tidak menyimpan data di dalamnya. Ketika fungsi kembali, lpcchBuffer berisi ukuran nama layanan, tidak termasuk terminator NULL.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Ada dua nama untuk layanan: nama layanan dan nama tampilan. Nama layanan adalah nama kunci layanan dalam registri. Nama tampilan adalah nama yang mudah digunakan yang muncul di aplikasi panel kontrol Layanan, dan digunakan dengan perintah NET START . Kedua nama ditentukan dengan fungsi CreateService dan dapat dimodifikasi dengan fungsi ChangeServiceConfig . Informasi yang ditentukan untuk layanan disimpan dalam kunci dengan nama yang sama dengan nama layanan di bawah kunci registri HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName .
Untuk memetakan nama layanan ke nama tampilan, gunakan fungsi GetServiceDisplayName . Untuk memetakan nama tampilan ke nama layanan, gunakan fungsi GetServiceKeyName .
Catatan
Header winsvc.h mendefinisikan GetServiceKeyName sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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
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 (termasuk Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk