ChangeServiceConfig2A, fonction (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 pour le service. Ce handle est retourné par la fonction OpenService ou CreateService et doit avoir le droit d’accès SERVICE_CHANGE_CONFIG . Pour plus d’informations, consultez Sécurité du service et droits d’accès.

Si le contrôleur de service gère l’action SC_ACTION_RESTART , hService doit disposer du droit d’accès SERVICE_START .

[in] dwInfoLevel

Informations de configuration à modifier. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
Le paramètre lpInfo est un pointeur vers une structure SERVICE_DELAYED_AUTO_START_INFO .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_DESCRIPTION
1
Le paramètre lpInfo est un pointeur vers une structure SERVICE_DESCRIPTION .
SERVICE_CONFIG_FAILURE_ACTIONS
2
Le paramètre lpInfo est un pointeur vers une structure SERVICE_FAILURE_ACTIONS .

Si le contrôleur de service gère l’action SC_ACTION_REBOOT, l’appelant doit disposer du privilègeSE_SHUTDOWN_NAME. Pour plus d’informations, consultez Exécution avec des privilèges spéciaux.

SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
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.

SERVICE_CONFIG_PREFERRED_NODE
9
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.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
Le paramètre lpInfo est un pointeur vers une structure SERVICE_PRESHUTDOWN_INFO .

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
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.

SERVICE_CONFIG_SERVICE_SID_INFO
5
Le paramètre lpInfo est un pointeur vers une structure SERVICE_SID_INFO .
SERVICE_CONFIG_TRIGGER_INFO
8
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 avant Windows Server 2008 R2.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Le paramètre lpInfo est un pointeur SERVICE_LAUNCH_PROTECTED_INFO structure.
Note 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 retournée

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étaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction ChangeServiceConfig2 modifie les informations de configuration facultatives pour le 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 s’est terminé avec une erreur, le gestionnaire de contrôle de service met en file d’attente l’action de redémarrage pour qu’elle se produise 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 mis en file d’attente se produise, le service redémarre de manière 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.

SERVICE_CONFIG_LAUNCH_PROTECTED exemple :

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.

Notes

L’en-tête winsvc.h définit ChangeServiceConfig2 en tant qu’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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winsvc.h (inclure Windows.h)
Bibliothèque Advapi32.lib
DLL Advapi32.dll

Voir aussi

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

Configuration de service

Fonctions de service