Bagikan melalui


Fungsi ChangeServiceConfig2A (winsvc.h)

Mengubah parameter konfigurasi opsional layanan.

Sintaks

BOOL ChangeServiceConfig2A(
  [in]           SC_HANDLE hService,
  [in]           DWORD     dwInfoLevel,
  [in, optional] LPVOID    lpInfo
);

Parameter

[in] hService

Handel ke layanan. Handel ini dikembalikan oleh fungsi OpenService atau CreateService dan harus memiliki hak akses SERVICE_CHANGE_CONFIG . Untuk informasi selengkapnya, lihat Keamanan Layanan dan Hak Akses.

Jika pengontrol layanan menangani tindakan SC_ACTION_RESTART , hService harus memiliki hak akses SERVICE_START .

[in] dwInfoLevel

Informasi konfigurasi yang akan diubah. 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 lpInfo adalah penunjuk ke struktur SERVICE_DESCRIPTION .
SERVICE_CONFIG_FAILURE_ACTIONS
2
Parameter lpInfo adalah penunjuk ke struktur SERVICE_FAILURE_ACTIONS .

Jika pengontrol layanan menangani tindakan SC_ACTION_REBOOT, pemanggil harus memiliki hak istimewaSE_SHUTDOWN_NAME. Untuk informasi selengkapnya, lihat Menjalankan dengan Hak Istimewa Khusus.

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 .
SERVICE_CONFIG_TRIGGER_INFO
8
Parameter lpInfo adalah penunjuk ke struktur SERVICE_TRIGGER_INFO . Nilai ini tidak didukung oleh versi ANSI Dari ChangeServiceConfig2.

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

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

[in, optional] lpInfo

Penunjuk ke nilai baru yang akan diatur untuk informasi konfigurasi. Format data ini tergantung pada nilai parameter dwInfoLevel . Jika nilai ini NULL, informasi tetap tidak berubah.

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

Fungsi ChangeServiceConfig2 mengubah informasi konfigurasi opsional untuk layanan yang ditentukan dalam database manajer kontrol layanan. Anda bisa mendapatkan informasi konfigurasi opsional saat ini dengan menggunakan fungsi QueryServiceConfig2 .

Anda tidak dapat mengatur nilai SERVICE_CONFIG_FAILURE_ACTIONS untuk layanan yang berbagi proses manajer kontrol layanan. Ini termasuk semua layanan yang gambar yang dapat dieksekusi adalah "Services.exe".

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

Jika layanan dikonfigurasi untuk memulai ulang setelah selesai dengan kesalahan, manajer kontrol layanan mengantre tindakan hidupkan ulang terjadi setelah penundaan waktu yang ditentukan. Tindakan mulai ulang yang diantrekan tidak dapat dibatalkan. Jika layanan dimulai ulang secara manual dan kemudian dihentikan sebelum tindakan hidupkan ulang yang diantrekan terjadi, layanan akan dimulai ulang secara tidak terduga ketika penundaan waktu berlalu. Layanan harus dinonaktifkan secara eksplisit untuk mencegahnya dimulai ulang.

Nilai SERVICE_CONFIG_LAUNCH_PROTECTED dapat digunakan untuk meluncurkan layanan sebagai dilindungi. Untuk meluncurkan layanan sebagai terlindungi, layanan harus ditandatangani dengan sertifikat khusus.

contoh SERVICE_CONFIG_LAUNCH_PROTECTED:

SERVICE_LAUNCH_PROTECTED_INFO Info;
SC_HANDLE hService;

Info.dwLaunchProtected = SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT;

hService = CreateService (...);

if (ChangeServiceConfig2(hService, 
                        SERVICE_CONFIG_LAUNCH_PROTECTED,
                        &Info) == FALSE)
{
    Result = GetLastError();
}

Contoh

Misalnya, lihat Mengubah Konfigurasi Layanan.

Catatan

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

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

Lihat juga

ChangeServiceConfig

CreateService

OpenService

QueryServiceConfig

QueryServiceConfig2

QueryServiceDynamicInformation

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