Bagikan melalui


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

GetServiceDisplayName

OpenSCManager

Fungsi Layanan