Funzione ChangeServiceConfig2W (winsvc.h)
Modifica i parametri di configurazione facoltativi di un servizio.
Sintassi
BOOL ChangeServiceConfig2W(
[in] SC_HANDLE hService,
[in] DWORD dwInfoLevel,
[in, optional] LPVOID lpInfo
);
Parametri
[in] hService
Handle per il servizio. Questo handle viene restituito dalla funzione OpenServiceW o CreateServiceW e deve avere il diritto di accesso SERVICE_CHANGE_CONFIG. Per altre informazioni, vedere Service Security and Access Rights.
Se il controller del servizio gestisce l'azione di SC_ACTION_RESTART, hService deve avere il diritto di accesso SERVICE_START.
[in] dwInfoLevel
Informazioni di configurazione da modificare. Questo parametro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Il parametro lpInfo Windows Server 2003 e Windows XP: Questo valore non è supportato. |
|
Il parametro lpInfo |
|
Il parametro lpInfo Se il controller del servizio gestisce l'azione di SC_ACTION_REBOOT, il chiamante deve disporre del privilegio SE_SHUTDOWN_NAME. Per altre informazioni, vedere esecuzione con privilegi speciali. |
|
Il parametro lpInfo Windows Server 2003 e Windows XP: Questo valore non è supportato. |
|
Il parametro lpInfo Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato. |
|
Il parametro lpInfo Windows Server 2003 e Windows XP: Questo valore non è supportato. |
|
Il parametro lpInfo Windows Server 2003 e Windows XP: Questo valore non è supportato. |
|
Il parametro lpInfo è un puntatore a una struttura SERVICE_SID_INFO. |
|
Il parametro lpInfo è un puntatore a una struttura SERVICE_TRIGGER_INFO. Questo valore non è supportato dalla versione ANSI di ChangeServiceConfig2.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Server 2008 R2. |
|
Il parametro lpInfo
Nota Questo valore è supportato a partire da Windows 8.1.
|
[in, optional] lpInfo
Puntatore al nuovo valore da impostare per le informazioni di configurazione. Il formato di questi dati dipende dal valore del parametro dwInfoLevel
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
La funzione ChangeServiceConfig2
Non è possibile impostare il valore SERVICE_CONFIG_FAILURE_ACTIONS per un servizio che condivide il processo del gestore di controllo del servizio. Sono inclusi tutti i servizi la cui immagine eseguibile è "Services.exe".
È possibile modificare ed eseguire query su informazioni di configurazione aggiuntive usando rispettivamente le funzioni di ChangeServiceConfigW e QueryServiceConfigW.
Se un servizio è configurato per il riavvio al termine di un errore, gestione controllo del servizio accoda l'azione di riavvio in modo che si verifichi dopo il ritardo di tempo specificato. Non è possibile annullare un'azione di riavvio in coda. Se il servizio viene riavviato manualmente e quindi arrestato prima che si verifichi l'azione di riavvio in coda, il servizio verrà riavviato in modo imprevisto quando si verifica il ritardo di tempo. Il servizio deve essere disabilitato in modo esplicito per impedire il riavvio.
Il valore SERVICE_CONFIG_LAUNCH_PROTECTED può essere usato per avviare il servizio come protetto. Per avviare il servizio come protetto, il servizio deve essere firmato con un certificato speciale.
SERVICE_CONFIG_LAUNCH_PROTECTED esempio:
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();
}
Esempi
Per un esempio, vedere Modifica della configurazione di un servizio.
Nota
L'intestazione winsvc.h definisce ChangeServiceConfig2 come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [solo app desktop] |
server minimo supportato | Windows Server 2003 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winsvc.h (include Windows.h) |
libreria |
Advapi32.lib |
dll | Advapi32.dll |
Vedere anche
QueryServiceConfig2W
QueryServiceDynamicInformation
SERVICE_DELAYED_AUTO_START_INFO
SERVICE_REQUIRED_PRIVILEGES_INFO
di configurazione del servizio