Partager via


Créer une méthode de la classe Win32_BaseService

La méthode CreateWMI class crée un service. Le paramètre LoadOrderGroup représente un regroupement de services système définissant des dépendances d’exécution. Les services doivent être lancés dans l’ordre spécifié par le groupe d’ordre de chargement, car les services dépendent les uns des autres. Ces services dépendants nécessitent la présence des services antécédents pour fonctionner correctement.

Cette rubrique utilise la syntaxe MOF (Managed Object Format). Pour plus d’informations sur l’utilisation de cette méthode, consultez Appel d’une méthode.

Syntaxe

uint32 Create(
  [in] string  Name,
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

Paramètres

Nom [in]

Nom du service à installer sur la méthode Create . La longueur de chaîne maximale est de 256 caractères. La base de données du gestionnaire de contrôle de service conserve la casse des caractères, mais les comparaisons de noms de service ne respectent toujours pas la casse. Les barres obliques (/) et les barres obliques inverses (\) ne sont pas des caractères de nom de service non valides.

DisplayName [in]

Nom complet du service. Cette chaîne a une longueur maximale de 256 caractères. Le nom est conservé à la casse dans le gestionnaire de contrôle de service. Les comparaisons DisplayName ne respectent toujours pas la casse.

Contraintes : accepte la même valeur que le paramètre Name .

Exemple : « Atdisk ».

PathName [in]

Chemin d’accès complet au fichier exécutable qui implémente le service.

Exemple : « \SystemRoot\System32\drivers\afd.sys ».

ServiceType [in]

Type de services fournis aux processus qui les appellent. La valeur est une bitmap.

Pilote du noyau (1)

Pilote de système de fichiers (2)

Adaptateur (4)

Pilote Recognizer (8)

Propre processus (16)

Processus de partage (32)

256

Processus interactif

ErrorControl [in]

Gravité de l’erreur si la méthode Create ne parvient pas à démarrer. La valeur indique l’action effectuée par le programme de démarrage en cas d’échec. Toutes les erreurs sont enregistrées par le système.

Ignorer (0)

L'utilisateur n'est pas notifié.

Normal (1)

L'utilisateur est notifié.

Sévère (2)

Le système est redémarré avec la dernière bonne configuration connue.

Critique (3)

Le système tente de commencer avec une bonne configuration.

StartMode [in]

Mode de démarrage du service de base Windows.

Démarrage (« Démarrage »)

Pilote de périphérique démarré par le chargeur du système d’exploitation. Cette valeur est uniquement valide pour les services de pilote.

Démarrage du système (« Système »)

Pilote de périphérique démarré par le processus d’initialisation du système d’exploitation. Cette valeur est uniquement valide pour les services de pilote.

Démarrage automatique (« automatique »)

Le service doit être démarré automatiquement par le Gestionnaire de contrôle des services lors du démarrage du système.

Démarrage de la demande (« manuel »)

Service à démarrer par le gestionnaire de contrôle de service lorsqu’un processus appelle la méthode StartService .

Désactivé (« Désactivé »)

Service qui ne peut plus être démarré.

DesktopInteract [in]

Si la valeur est true, le service peut créer ou communiquer avec des fenêtres sur le bureau.

StartName [in]

Nom du compte sous lequel le service s’exécute. Selon le type de service, le nom du compte peut se présenter sous la forme « DomainName\Username ». Le processus de service est journalisé à l’aide de l’un de ces deux formulaires lorsqu’il s’exécute. Si le compte appartient au domaine intégré, .\Username » peut être spécifié. Si null est spécifié, le service est connecté en tant que compte LocalSystem. Pour un noyau ou des pilotes de niveau système, StartName contient le nom de l’objet pilote (c’est-à-dire, \FileSystem\Rdr ou \Driver\Xns) que le système d’entrée et de sortie (E/S) utilise pour charger le pilote de périphérique. Si null est spécifié, le pilote s’exécute avec un nom d’objet par défaut créé par le système d’E/S en fonction du nom du service. Exemple : DWDOM\Administration.

StartPassword [in]

Mot de passe pour le nom de compte spécifié par le paramètre StartName . Spécifiez NULL si vous ne modifiez pas le mot de passe. Spécifiez une chaîne vide si le service ne possède pas de mot de passe.

LoadOrderGroup [in]

Nom du groupe associé au nouveau service. Les groupes d’ordre de chargement sont contenus dans le Registre et déterminent la séquence dans laquelle les services sont chargés dans le système d’exploitation. Si le pointeur a la valeur NULL ou s’il pointe vers une chaîne vide, le service n’appartient pas à un groupe. Les dépendances entre les groupes doivent être répertoriées dans le paramètre LoadOrderGroupDependencies . Les services de la liste des groupes d’ordre de chargement sont démarrés en premier, suivis des services dans les groupes qui ne figurent pas dans la liste des groupes d’ordre de chargement, suivis des services qui n’appartiennent pas à un groupe. Le Registre contient une liste de groupes d’ordre de chargement situés à l’adresse suivante :

HKEY_LOCAL_MACHINE\Système\Currentcontrolset\Contrôle\ServiceGroupOrder

LoadOrderGroupDependencies [in]

Tableau de groupes d’ordre de charge qui doivent démarrer avant ce service. Chaque élément du tableau est délimité par NULL et la liste est terminée par deux valeurs NULL . Dans Visual Basic ou un script, vous pouvez passer un vbArray. Si le pointeur a la valeur NULL ou s’il pointe vers une chaîne vide, le service n’a aucune dépendance. Les noms de groupe doivent être préfixés par le caractère SC_GROUP_IDENTIFIER (défini dans le fichier Winsvc.h) pour le différencier d’un nom de service, car les services et les groupes de services partagent le même espace de noms. La dépendance à un groupe signifie que ce service peut s’exécuter si au moins un membre du groupe s’exécute après une tentative de démarrage de tous les membres du groupe.

ServiceDependencies [in]

Tableau qui contient les noms des services qui doivent démarrer avant le démarrage de ce service. Chaque élément du tableau est délimité par NULL et la liste est terminée par deux valeurs NULL . Dans Visual Basic ou un script, vous pouvez passer un vbArray. Si le pointeur a la valeur NULL ou s’il pointe vers une chaîne vide, le service n’a aucune dépendance. La dépendance à un service signifie que ce service ne peut s’exécuter que si le service dont il dépend est en cours d’exécution.

Valeur retournée

Retourne l’une des valeurs répertoriées dans la liste suivante ou toute autre valeur pour indiquer une erreur.

Success

0

La demande a été acceptée.

Non pris en charge

1

La demande n'est pas prise en charge.

accès refusé

2

L’utilisateur n’avait pas l’accès nécessaire.

Services dépendants en cours d’exécution

3

Le service ne peut pas être arrêté car d'autres services en cours d'exécution en dépendent.

Contrôle de service non valide

4

Le code de contrôle demandé n'est pas valide ou est inacceptable pour le service.

Le service ne peut pas accepter le contrôle

5

Le code de contrôle demandé ne peut pas être envoyé au service, car l’état du service (Win32_BaseService. State property) est égal à 0, 1 ou 2.

Service non actif

6

Le service n'a pas été démarré.

Délai d’expiration de la demande de service

7

Le service n'a pas répondu à la demande de démarrage en temps voulu.

Échec inconnu

8

Processus interactif.

Chemin introuvable

9

Le chemin du répertoire du fichier exécutable de service est introuvable.

Service déjà en cours d’exécution

10

Le service est déjà en cours d'exécution.

Base de données de service verrouillée

11

La base de données pour ajouter un nouveau service est verrouillée.

Dépendance de service supprimée

12

Une dépendance sur laquelle repose ce service a été supprimée du système.

Échec de dépendance de service

13

Le service n'a pas pu trouver le service nécessaire à partir d'un service dépendant.

Service désactivé

14

Le service a été désactivé du système.

Échec de l’ouverture de session au service

15

Le service ne dispose pas de l'authentification correcte pour être exécuté sur le système.

Service marqué pour suppression

16

Ce service est supprimé du système.

Service sans thread

17

Il n'y a pas de thread d'exécution pour le service.

Dépendance circulaire d’état

18

Le démarrage du service donne lieu à des dépendances circulaires.

Nom dupliqué d’état

19

Un service est en cours d'exécution sous le même nom.

Nom non valide d’état

20

Le nom du service contient des caractères non valides.

Paramètre non valide d’état

21

Des paramètres non valides ont été passés au service.

État Compte de service non valide

22

Le compte sous lequel ce service doit s’exécuter n’est pas valide ou n’a pas les autorisations nécessaires pour exécuter le service.

Service d’état existant

23

Le service existe dans la base de données des services disponibles dans le système.

Service déjà suspendu

24

Le service est actuellement mis en pause dans le système.

Autres

25 4294967295

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
Espace de noms
Racine\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Voir aussi

Classes du système d’exploitation

Win32_BaseService