Fonction ChangeServiceConfig2A (winsvc.h)
Modifie les paramètres de configuration facultatifs d’un service.
Syntaxe
BOOL ChangeServiceConfig2A(
[in] SC_HANDLE hService,
[in] DWORD dwInfoLevel,
[in, optional] LPVOID lpInfo
);
Paramètres
[in] hService
Handle vers le service. Ce handle est retourné par la fonction OpenService ou Fonction CreateService et doit disposer du droit d’accès SERVICE_CHANGE_CONFIG. Pour plus d’informations, consultez Sécurité des services et droits d’accès.
Si le contrôleur de service gère l’action de SC_ACTION_RESTART, hService doit disposer du droit d’accès SERVICE_START.
[in] dwInfoLevel
Informations de configuration à modifier. Ce paramètre peut être l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Le paramètre lpInfo Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
|
Le paramètre lpInfo |
|
Le paramètre lpInfo est un pointeur vers une structure SERVICE_FAILURE_ACTIONS.
Si le contrôleur de service gère l’action de SC_ACTION_REBOOT, l’appelant doit avoir le privilège SE_SHUTDOWN_NAME. Pour plus d’informations, consultez Exécution avec des privilèges spéciaux. |
|
Le paramètre lpInfo est un pointeur vers une structure SERVICE_FAILURE_ACTIONS_FLAG.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
|
Le paramètre lpInfo est un pointeur vers une structure SERVICE_PREFERRED_NODE_INFO.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
|
Le paramètre Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
|
Le paramètre lpInfo est un pointeur vers une structure SERVICE_REQUIRED_PRIVILEGES_INFO.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
|
Le paramètre lpInfo est un pointeur vers une structure SERVICE_SID_INFO. |
|
Le paramètre lpInfo est un pointeur vers une structure SERVICE_TRIGGER_INFO. Cette valeur n’est pas prise en charge par la version ANSI de ChangeServiceConfig2.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge tant que Windows Server 2008 R2 n’est pas pris en charge. |
|
Le paramètre
Remarque Cette valeur est prise en charge à partir de Windows 8.1.
|
[in, optional] lpInfo
Pointeur vers la nouvelle valeur à définir pour les informations de configuration. Le format de ces données dépend de la valeur du paramètre dwInfoLevel. Si cette valeur est NULL, les informations restent inchangées.
Valeur de retour
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction ChangeServiceConfig2 modifie les informations de configuration facultatives du service spécifié dans la base de données du gestionnaire de contrôle de service. Vous pouvez obtenir les informations de configuration facultatives actuelles à l’aide de la fonction QueryServiceConfig2.
Vous ne pouvez pas définir la valeur SERVICE_CONFIG_FAILURE_ACTIONS pour un service qui partage le processus du gestionnaire de contrôle de service. Cela inclut tous les services dont l’image exécutable est «Services.exe».
Vous pouvez modifier et interroger des informations de configuration supplémentaires à l’aide des fonctions ChangeServiceConfig et QueryServiceConfig, respectivement.
Si un service est configuré pour redémarrer une fois qu’il a terminé avec une erreur, le gestionnaire de contrôle de service met en file d’attente l’action de redémarrage à se produire après le délai spécifié. Une action de redémarrage en file d’attente ne peut pas être annulée. Si le service est redémarré manuellement, puis arrêté avant que l’action de redémarrage en file d’attente se produise, le service redémarre de façon inattendue lorsque le délai s’écoule. Le service doit être explicitement désactivé pour l’empêcher de redémarrer.
La valeur SERVICE_CONFIG_LAUNCH_PROTECTED peut être utilisée pour lancer le service comme protégé. Pour lancer le service comme protégé, le service doit être signé avec un certificat spécial.
exemple 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();
}
Exemples
Pour obtenir un exemple, consultez modification de la configuration d’un service.
Note
L’en-tête winsvc.h définit ChangeServiceConfig2 comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winsvc.h (inclure Windows.h) |
bibliothèque | Advapi32.lib |
DLL | Advapi32.dll |
Voir aussi
QueryServiceDynamicInformation
SERVICE_DELAYED_AUTO_START_INFO