Partager via


Create, méthode de la classe Win32_SystemDriver

La méthode CreateWMI class crée un service géré par le pilote système. Le paramètre Win32_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 Service Control Manager 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 des services. 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.

1 (0x1)

Pilote du noyau

2 (0x2)

Pilote du système de fichiers

4 (0x4)

Adaptateur

8 (0x8)

Pilote Recognizer

16 (0x10)

Propre processus

32 (0x20)

Processus de partage

256 (0x100)

Processus interactif

ErrorControl [in]

Gravité de l’erreur si la méthode Create ne parvient pas à démarrer. Cette 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.

0

« Ignorer »

L'utilisateur n'est pas notifié.

1

"Normal"

L'utilisateur est notifié.

2

« Sévère »

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

3

« Critique »

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

StartMode [in]

Mode de démarrage du service de base Windows.

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.

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.

Automatique

Service à démarrer automatiquement par le Gestionnaire de contrôle des services lors du démarrage du système.

Manuelle

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

Handicapés

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

DesktopInteract [in]

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

StartName [in]

Nom du compte sous lequel le service s’exécute. Selon le type de service, le nom du compte peut être au format DomainName\Username ou UPN (Nom d’utilisateur principal) (Username@DomainName). 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 est en cours d’exécution 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 la valeur 0 (zéro) si le service a été correctement créé, 1 (un) si la demande n’est pas prise en charge et tout autre nombre pour indiquer une erreur.

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_SystemDriver