Bagikan melalui


Fungsi QueryServiceConfig2A (winsvc.h)

Mengambil parameter konfigurasi opsional dari layanan yang ditentukan.

Sintaks

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [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.

[in] dwInfoLevel

Informasi konfigurasi yang akan dikueri. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
Parameter lpInfo adalah penunjuk ke struktur SERVICE_DELAYED_AUTO_START_INFO .

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_DESCRIPTION
1
Parameter lpBuffer adalah penunjuk ke struktur SERVICE_DESCRIPTION .
SERVICE_CONFIG_FAILURE_ACTIONS
2
Parameter lpBuffer adalah penunjuk ke struktur SERVICE_FAILURE_ACTIONS .
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
Parameter lpInfo adalah penunjuk ke struktur SERVICE_FAILURE_ACTIONS_FLAG .

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_PREFERRED_NODE
9
Parameter lpInfo adalah penunjuk ke struktur SERVICE_PREFERRED_NODE_INFO .

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
Parameter lpInfo adalah penunjuk ke struktur SERVICE_PRESHUTDOWN_INFO .

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
Parameter lpInfo adalah penunjuk ke struktur SERVICE_REQUIRED_PRIVILEGES_INFO .

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_SERVICE_SID_INFO
5
Parameter lpInfo adalah penunjuk ke struktur SERVICE_SID_INFO .

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_TRIGGER_INFO
8
Parameter lpInfo adalah penunjuk ke struktur SERVICE_TRIGGER_INFO .

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Parameter lpInfo adalah penunjuk struktur SERVICE_LAUNCH_PROTECTED_INFO .
Catatan Nilai ini didukung dimulai dengan Windows 8.1.
 

[out, optional] lpBuffer

Penunjuk ke buffer yang menerima informasi konfigurasi layanan. Format data ini tergantung pada nilai parameter dwInfoLevel .

Ukuran maksimum array ini adalah 8K byte. Untuk menentukan ukuran yang diperlukan, tentukan NULL untuk parameter ini dan 0 untuk parameter cbBufSize . Fungsi gagal dan GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER. Parameter pcbBytesNeeded menerima ukuran yang diperlukan.

[in] cbBufSize

Ukuran struktur yang diacu oleh parameter lpBuffer , dalam byte.

[out] pcbBytesNeeded

Penunjuk ke variabel yang menerima jumlah byte yang diperlukan untuk menyimpan informasi konfigurasi, jika fungsi gagal dengan ERROR_INSUFFICIENT_BUFFER.

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.

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
ERROR_ACCESS_DENIED
Handel tidak memiliki hak akses SERVICE_QUERY_CONFIG .
ERROR_INSUFFICIENT_BUFFER
Ada lebih banyak informasi konfigurasi layanan daripada yang akan masuk ke dalam buffer lpBuffer . Jumlah byte yang diperlukan untuk mendapatkan semua informasi dikembalikan dalam parameter pcbBytesNeeded . Tidak ada yang ditulis ke lpBuffer.
ERROR_INVALID_HANDLE
Handel yang ditentukan tidak valid.

Keterangan

Fungsi QueryServiceConfig2 mengembalikan informasi konfigurasi opsional yang disimpan dalam database manajer kontrol layanan untuk layanan yang ditentukan. Anda dapat mengubah informasi konfigurasi ini dengan menggunakan fungsi ChangeServiceConfig2 .

Anda dapat mengubah dan mengkueri informasi konfigurasi tambahan menggunakan fungsi ChangeServiceConfig dan QueryServiceConfig .

Contoh

Misalnya, lihat Mengkueri Konfigurasi Layanan.

Catatan

Header winsvc.h mendefinisikan QueryServiceConfig2 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

   
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

ChangeServiceConfig

ChangeServiceConfig2

CreateService

OpenService

QueryServiceConfig

QueryServiceDynamicInformation

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

Konfigurasi Layanan

Fungsi Layanan