Partager via


Exemples de pilotes généraux

Les exemples de ce répertoire fournissent un point de départ pour l’écriture d’un pilote personnalisé pour votre appareil.

Échantillon Descriptif
Annuler la file d’attente IRP sécurisée Illustre l'utilisation des routines de file d'attente sécurisées contre l'annulation: IoCsqInitialize, IoCsqInsertIrp, IoCsqRemoveIrp, IoCsqRemoveNextIrp. En utilisant ces routines, les développeurs de pilotes n’ont pas à se soucier des conditions de compétition lors de l'annulation d'IRP.
KMDF Echo Montre comment utiliser une file d’attente séquentielle pour sérialiser les demandes de lecture et d’écriture présentées au pilote.
UMDF1 Echo Montre comment utiliser UMDF 1 pour écrire un pilote et adopter les meilleures pratiques.
Écho UMDF2 Montre comment utiliser UMDF 2 pour écrire un pilote et adopter les meilleures pratiques.
Exemple SocketEcho UMDF (UMDF version 1) Montre comment utiliser la fonction UMDF pour écrire un pilote et illustre les meilleures pratiques.
Événement matériel Illustre deux façons différentes pour un pilote en mode noyau de notifier une application à propos d’un événement matériel. Une façon utilise une méthode basée sur des événements, et l’autre utilise une méthode basée sur IRP. L’exemple de pilote utilise un DPC de minuterie pour simuler des événements matériels.
Exemple de pilote non PnP Montre comment écrire un pilote non PnP à l’aide de l’infrastructure du pilote en mode noyau.
IOCTL Illustre l’utilisation de quatre types différents de IOCTL (METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER et METHOD_BUFFERED).
ObCallback Démontre l'utilisation de fonctions de rappel enregistrées pour la protection des processus. Le pilote enregistre des rappels de contrôle qui sont appelés lors de la création de processus.
PCIDRV Cet exemple montre comment écrire un pilote KMDF pour un périphérique PCI. L’exemple fonctionne avec l’adaptateur PCI Ethernet Intel 82557/82558 (10/100) et les compatibles Intel.
Compteur de noyau Illustre l’utilisation de la bibliothèque de performances en mode noyau. Le pilote ne contrôle aucun matériel, il fournit simplement des compteurs. Le code contient des commentaires pour expliquer ce que fait chaque fonction.
Pilote PCI PLX9x5x Montre comment écrire un pilote pour un périphérique PCI générique à l’aide de WDF (Windows Driver Frameworks). Le matériel cible de ce pilote est PLX9656/9653RDK-LITE.
RegFltr Montre comment écrire un pilote de filtre de registre.
Source multimédia simple Montre comment écrire une source multimédia personnalisée et un package de pilotes.
DMA système Illustre l’utilisation de la DMA système V3. Il montre comment un pilote peut utiliser un contrôleur DMA système pris en charge par Windows pour écrire des données à un emplacement matériel en utilisant le DMA.
Exemple de pilote de grille-pain Série itérative d’exemples qui illustrent les aspects fondamentaux du développement de pilotes Windows pour Kernel-Mode Driver Framework (KMDF) et User-Mode Driver Framework (UMDF) version 1.
Exemple de paquet grille-pain Simule l'installation d'abord matérielle et d'abord logicielle du driver d’exemple de grille-pain.
Exemple de grille-pain (UMDF version 2) Série itérative d’exemples qui illustrent les aspects fondamentaux du développement de pilotes Windows à l’aide de User-Mode Driver Framework (UMDF) version 2.
EventDrv Fournisseur de traces et pilote en mode noyau. Le pilote ne contrôle aucun matériel ; il génère simplement des événements de trace. Il est conçu pour illustrer l’utilisation de l’API Suivi d’événements pour Windows (ETW) dans un pilote.
Contrôle de trace système Montre comment utiliser les API de contrôle de suivi d’événements pour collecter des événements à partir du fournisseur de trace système.
Tracedrv Exemple de pilote instrumenté pour le suivi logiciel.
Squelette du pilote UMDF Montre comment utiliser l’infrastructure de pilotes User-Mode pour écrire un pilote minimal et afficher les meilleures pratiques.
Kit d’installation de packages de pilotes pour pilotes universels Illustre les principes DCHU de la conception universelle des pilotes.