Partager via


structure SERVICE_REQUIRED_PRIVILEGES_INFOW (winsvc.h)

Représente les privilèges requis pour un service.

Syntaxe

typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOW {
  LPWSTR pmszRequiredPrivileges;
} SERVICE_REQUIRED_PRIVILEGES_INFOW, *LPSERVICE_REQUIRED_PRIVILEGES_INFOW;

Membres

pmszRequiredPrivileges

Chaîne multiple qui spécifie les privilèges. Pour obtenir la liste des valeurs possibles, consultez Constantes de privilège.

Une chaîne multiple est une séquence de chaînes terminées par null, terminées par une chaîne vide (\0). Voici un exemple : String1\0String2\0String3\0LastString\0\0.

Remarques

La modification des privilèges requis prend effet lors du prochain démarrage du service. Le SCM détermine si le service peut prendre en charge les privilèges spécifiés lorsqu’il tente de démarrer le service.

Il est préférable d’analyser votre service et d’utiliser l’ensemble minimal de privilèges requis.

Si vous ne définissez pas les privilèges requis, le SCM utilise tous les privilèges attribués par défaut au jeton de processus. Si vous spécifiez des privilèges pour un service, le SCM supprime les privilèges qui ne sont pas requis du jeton de processus au démarrage du processus. Si plusieurs services partagent un processus, le SCM calcule l’union des privilèges requis par tous les services du processus.

Pour des fins de compatibilité, le privilège SeChangeNotifyPrivilege n’est jamais supprimé d’un jeton de processus, même si aucun service du processus n’a demandé le privilège. Par conséquent, un service n’a pas besoin de spécifier explicitement ce privilège.

Notes

L’en-tête winsvc.h définit SERVICE_REQUIRED_PRIVILEGES_INFO 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

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête winsvc.h (inclure Windows.h)

Voir aussi

ChangeServiceConfig2

QueryServiceConfig2