Fungsi QueryServiceConfigA (winsvc.h)
Mengambil parameter konfigurasi dari layanan yang ditentukan. Parameter konfigurasi opsional tersedia menggunakan fungsi QueryServiceConfig2 .
Sintaks
BOOL QueryServiceConfigA(
[in] SC_HANDLE hService,
[out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
[in] DWORD cbBufSize,
[out] LPDWORD pcbBytesNeeded
);
Parameter
[in] hService
Handel ke layanan. Handel ini dikembalikan oleh fungsi OpenService atau CreateService , dan harus memiliki hak akses SERVICE_QUERY_CONFIG. Untuk informasi selengkapnya, lihat Keamanan Layanan dan Hak Akses.
[out, optional] lpServiceConfig
Penunjuk ke buffer yang menerima informasi konfigurasi layanan. Format data adalah struktur QUERY_SERVICE_CONFIG .
Ukuran maksimum array ini adalah 8K byte. Untuk menentukan ukuran yang diperlukan, tentukan NULL untuk parameter ini dan 0 untuk parameter cbBufSize . Fungsi akan gagal dan GetLastError akan mengembalikan ERROR_INSUFFICIENT_BUFFER. Parameter pcbBytesNeeded akan menerima ukuran yang diperlukan.
[in] cbBufSize
Ukuran buffer yang diacu oleh parameter lpServiceConfig , dalam byte.
[out] pcbBytesNeeded
Penunjuk ke variabel yang menerima jumlah byte yang diperlukan untuk menyimpan semua informasi konfigurasi, jika fungsi gagal dengan ERROR_INSUFFICIENT_BUFFER.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. 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 hak akses SERVICE_QUERY_CONFIG. |
|
Ada lebih banyak informasi konfigurasi layanan daripada yang akan masuk ke dalam buffer lpServiceConfig . Jumlah byte yang diperlukan untuk mendapatkan semua informasi dikembalikan dalam parameter pcbBytesNeeded . Tidak ada yang ditulis ke lpServiceConfig. |
|
Handel yang ditentukan tidak valid. |
Keterangan
Fungsi QueryServiceConfig mengembalikan informasi konfigurasi layanan yang disimpan dalam registri untuk layanan tertentu. Informasi konfigurasi ini pertama kali diatur oleh program kontrol layanan menggunakan fungsi CreateService . Informasi ini mungkin telah diperbarui oleh program konfigurasi layanan menggunakan fungsi ChangeServiceConfig .
Jika layanan berjalan saat informasi konfigurasi terakhir diubah, informasi yang dikembalikan oleh QueryServiceConfig tidak akan mencerminkan konfigurasi layanan saat ini. Sebaliknya, ini akan mencerminkan konfigurasi layanan ketika dijalankan berikutnya. Kunci DisplayName adalah pengecualian untuk ini. Ketika kunci DisplayName diubah, kunci tersebut langsung berlaku, terlepas dari apakah layanan sedang berjalan.
Contoh
Misalnya, lihat Mengkueri Konfigurasi Layanan.
Catatan
Header winsvc.h mendefinisikan QueryServiceConfig 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 (termasuk Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |