Partager via


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

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 tant que Windows Server 2008 R2 n’est pas pris en charge.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
Le paramètre lpInfo est un pointeur d’une structure SERVICE_LAUNCH_PROTECTED_INFO.
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

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

de configuration du service

Fonctions de service