Guide de conception de l’architecture du pilote en mode noyau
Remarque
Pour plus d'informations sur les interfaces de programmation que votre pilote peut implémenter ou appeler, consultez la référence des pilotes en mode noyau.
Cette section comprend des concepts généraux pour vous aider à comprendre la programmation en mode noyau et décrit des techniques spécifiques de programmation du noyau. Pour une présentation générale des pilotes Windows, reportez-vous à la section Prise en main du développement de pilotes Windows, qui fournit une présentation générale des composants Windows, énumère les types de pilotes d'appareils utilisés dans Windows, aborde les objectifs des pilotes d'appareils Windows et traite des exemples génériques de pilotes d'appareils inclus dans le kit.
Cette section contient des informations conceptuelles qui décrivent et vous aident à construire des pilotes en mode noyau.
Une vue d'ensemble contenant :
- Une vue d'ensemble des composants Windows
- Les objectifs de conception des pilotes en mode noyau
- Un catalogue d'exemples de pilotes en mode noyau
- Les meilleures pratiques en matière de développement de pilotes en mode noyau, telles que compilées par l'équipe Surface de Microsoft.
Composants en mode noyau décrit les principaux gestionnaires et composants en mode noyau du système d'exploitation Windows.
Composant Description Gestionnaires Gestionnaire d'objets en mode noyau de Windows Gère les objets : fichiers, appareils, mécanismes de synchronisation, clés de registre, etc. Gestionnaire de mémoire en mode noyau de Windows Gère la mémoire physique du système d'exploitation. Gestionnaire de processus et de threads en mode noyau de Windows Gère l'exécution de tous les threads d'un processus. Gestionnaire d'E/S en mode noyau de Windows Gère la communication entre les applications et les interfaces fournies par les pilotes d'appareils. Gestionnaire Plug-and-Play en mode noyau de Windows Sous-système du gestionnaire d'E/S, le gestionnaire Plug and Play (PnP) permet à un PC de reconnaître l'ajout d'un appareil au système. Gestionnaire d'alimentation en mode noyau Windows Gère le changement ordonné de l'état de l'alimentation pour tous les appareils qui prennent en charge les changements d'état de l'alimentation. Gestionnaire de configuration en mode noyau de Windows Gère le registre, par exemple en surveillant les modifications du registre ou en enregistrant des rappels sur des données spécifiques du registre. Gestionnaire de transactions en mode noyau de Windows Met en œuvre le traitement des transactions en mode noyau. Moniteur de référence de sécurité en mode noyau Windows Fournit des routines permettant à votre pilote de travailler avec le contrôle d'accès. Bibliothèques Bibliothèque du noyau en mode noyau de Windows Implémente la fonctionnalité de base dont dépendent tous les autres éléments du système d'exploitation. Le noyau de Microsoft Windows fournit des opérations de base de bas niveau telles que l'ordonnancement des threads ou l'acheminement des interruptions matérielles. Bibliothèque de support exécutif en mode noyau de Windows Se réfère aux composants en mode noyau qui fournissent une variété de services aux pilotes d'appareils, y compris : la gestion des objets, la gestion de la mémoire, la gestion des processus et des threads, la gestion des entrées/sorties et la gestion de la configuration. Bibliothèque d'exécution en mode noyau de Windows Ensemble de routines utilitaires communes nécessaires à divers composants en mode noyau. Bibliothèque de chaînes de caractères sûres en mode noyau de Windows Une bibliothèque de chaînes de caractères sûres pour assurer une plus grande sécurité dans le développement en mode noyau. Bibliothèque DMA en mode noyau de Windows Une bibliothèque d'accès direct à la mémoire (DMA) pour les développeurs de pilotes d'appareils. Bibliothèque HAL en mode noyau de Windows Une couche d'abstraction matérielle (HAL) pour le développement de pilotes en mode noyau. Bibliothèque CLFS en mode noyau Windows Système de journal transactionnel, le Common Log File System (CLFS). Bibliothèque WMI en mode noyau Windows Mécanisme général de gestion des composants, appelé Windows Management Instrumentation (WMI). Les rubriques Écrire des pilotes WDM et Introduction à WDM fournissent les informations nécessaires à l'écriture de pilotes utilisant le modèle de pilote Windows (WDM).
Objets de périphérique et les autres rubriques de Objets de périphérique et piles de périphériques décrivent comment le système d'exploitation représente les appareils par des objets de périphérique.
Gestion de la mémoire pour les pilotes Windows illustre comment les pilotes en mode noyau allouent de la mémoire à des fins telles que le stockage de données internes, la mise en mémoire tampon de données pendant les opérations d'E/S et le partage de la mémoire avec d'autres composants en mode noyau et en mode utilisateur.
Sécurité Du contrôle de l'accès aux appareils et des privilèges au SDDL pour les objets d'appareil, assurez-vous que vos pilotes sont aussi sûrs que possible.
La gestion des IRP décrit comment les pilotes en mode noyau gèrent les paquets de requêtes d'E/S (IRP).
DMA L'accès direct à la mémoire (DMA) est un aspect essentiel du développement des pilotes, et les rubriques de ce nœud couvrent le DMA de A à Z.
Les objets contrôleurs représentent un contrôleur d'appareil physique avec les appareils connectés.
Les routines de service d'interruption (ISR) gèrent les interruptions pour les pilotes d'un appareil physique qui reçoit des interruptions.
Les interruptions signalées par un message déclenchent une interruption en écrivant une valeur à une adresse mémoire particulière.
Les appels de procédure différés (DPC Objects) peuvent être mis en file d'attente à partir des ISR et sont exécutés à un moment ultérieur et à un IRQL inférieur à celui de l'ISR.
Plug and Play (PnP) se concentre sur la prise en charge du PnP par le logiciel système et sur la manière dont les pilotes utilisent cette prise en charge pour mettre en œuvre le PnP.
Gestion de l'alimentation décrit l'architecture qui fournit une approche complète de la gestion de l'alimentation du système et des appareils.
Windows Management Instrumentation (WMI) sont des extensions de votre pilote en mode noyau, qui permettent à votre pilote de devenir un fournisseur WMI. Un fournisseur WMI met les données de mesure et d'instrumentation à la disposition des consommateurs WMI, tels que les applications en mode utilisateur.
Techniques de programmation de pilotes La programmation de pilotes en mode noyau de Windows requiert des techniques qui diffèrent parfois sensiblement de celles de la programmation en mode utilisateur ordinaire.