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çu 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