plan de cours - Iris Training

Transcription

plan de cours - Iris Training
EXPERT EN DÉ VELOPPE MENT DE COMPÉTENCES
PLAN DE COURS
DEVELOPPEMENT DE DRIVERS WINDOWS AVEC WDM ET
WDF
Objectif
Code
- Découvrir et maîtriser les différents environnements de développement de
drivers proposés par Microsoft pour les systèmes Windows 2000, XP, Server 2003
et 2008, Vista et Seven.
- Connaître et comprendre le développement de drivers en mode utilisateur
(UMDF) ou de drivers en mode noyau (WDM et KMDF).
DXP200
Duree
5 jours
Public Concerne
Développeurs de drivers
Pre-requis
Bonne connaissance de la programmation Windows et du langage C++.
Programme
INTRODUCTION
Les drivers Windows
Objets noyau et structures de données
Le modèle d'entrées/sorties de windows
Le plug&play et la gestion de l'alimentation
Les bases de la programmation noyau
Architecture du noyau Windows
Vocabulaire de base
Les fondamentaux de WDM et WDF
Historique: NT, VxD, WDM et WDF
Le modèle objet WDF: KMDF et UMDF
Le modèle d'entrée/sortie
Plug&play et gestion de l'alimentation
Sécurité
Support vérification,trace et débogage
Gestion de version
LE FRAMEWORK
Introduction aux frameworks de drivers
L'architecture de WDF
L'infrastructure d'UMDF
L'infrastructure de KMDF
Le support des Drivers et Devices dans WDF
Le modèle objet WDF
Vue d'ensemble du modèle objet
L'implémentation du modèle objet UMDF
L'implémentation du modèle objet KMDF
Création d'objets
Hiérarchie et durée de vie des objets
Les context area des objets
Structure et initialisation des drivers
Les composants obligatoires
Le «Driver Object»
Le «Device Object»
Les files et autres objets support
Les interfaces de périphériques
Création et initialisation d'un device UMDF
Création et initialisation d'un device KMDF
Enumération des devices fils
Technique de nommage des drivers KMDF
MISE EN EUVRE DES FONDAMENTAUX
Gestion plug&play et alimentation
Introduction
Support dans WDF
Les séquences de call-back
Comment implémenter le support PnP et
alimentation
Cas des drivers «logiciel seul»
Cas d'un matériel simple
Gestion avancée dans les drivers KMDF
Le flot et la répartition des entrées/sorties
Types communs de requêtes d'E/S
Types de transferts d'E/S
Objets de requête d'E/S
Files d'E/S
Callbacks d'événements d'E/S
Finaliser une E/S
Requêtes annulées et suspendues
Timeout adaptatifs dans UMDF
Les E/S auto gérées
Les cibles E/S
Création et gestion d'une cible d'E/S
Création d'une requête d'E/S
Les objets mémoire et les buffers pour les
requêtes d'E/S
Formatage des requêtes d'E/S
Comment envoyer une requête d'E/S
Gestion des requêtes d'E/S dans les drivers
UMDF
Les requêtes d'E/S USB
Synchronisation
Quand la synchronisation est-elle requise?
Les fonctionalités de synchro de WDF
Sérialisation des E/S
Les Wait locks et Spin locks de KMDF
Page : 1/2
EXPERT EN DÉ VELOPPE MENT DE COMPÉTENCES
Synchronisation et annulation des requêtes d'E/S
KMDF
Bonnes pratiques
Tracage et diagnostique de drivers
Les bases du tracage de logiciel
Les fonctions et macros de tracage
Support du tracage dans un driver
Les outils de tracage
Exécution d'une session de tracage de logiciel
Bonnes pratiques
Les objets support de WDF
Allocation mémoire
Accès au registre
Objets généraux
Les collections KMDF
Les timers KMDF
Le support WMI dans KMDF
Le template de driver UMDF
Description du squelette exemple
Comment personnaliser le squelette exemple
Comment personnaliser le build et les fichiers de
support à l'installation
SPECIFICITES DES DRIVERS KMDF
Au delà du framework
Comment utiliser les services système derrière le
framework
Comment gérer les requêtes qui ne sont pas
prises en charge par le framework
Ordonnancement, contexte de Threads et IRQL
Les threads
Les niveaux d'interruption (IRQL)
Les work items et les threads dans le driver
Bonnes pratiques, pièges
Les ressources et interruptions matérielles
Les ressources matérielles
Les interruptions et le service des interruptions
Les bases et la terminologie
Informations DMA spécifiques au périphérique
L'abstraction DMA de Windows
Implémenter un driver DMA
Test d'un driver DMA
Bonnes pratiques
Introduction à COM
Aper&ccedilu de COM
Comment utiliser les objets COM UMDF
Implémenter l'infrastructure de DLL
Implémenter les objets callback
CONSTRUIRE,
WDF
INSTALLER ET TESTER LES DRIVERS
Construire les drivers WDF
Considérations générales sur la construction
Cas des drivers UMDF
Cas des drivers KMDF
Installation
Les bases de l'installation
Création d'un INF
Signature et distribution des packages de drivers
Installation d'un driver
Dépanner les problèmes d'installation
Outils de tests
Généralités sur le test de drivers
Le «Driver Verifier»
KMDF Verifier
UMDF Verifier
Application Verifier
Bonnes pratiques
Debogage des drivers
Principes de débogage de drivers
Présentation de Windbg
Préparer un driver pour le debogage
Visualiser les messages de trace avec Windbg
Visualiser le log KMDF avec Windbg
DMA
Page : 2/2