SPECIFICITES
Les Graphic Drivers Interface (GDI) et Device Drivers Interface (DDI) pour les drivers d'affichages et d'imprimante ont été étendues au support de plusieurs caractéristiques évoluées, entre autre :
l"alpha blending",
le "shading",
la transparence,
ICM,
capacités en virgule flottante en "kernel mode".
Pour les drivers d'affichage, port vidéo et miniport vidéo, on remarque ces grands points :
Support du PnP, Power Management et de l'énumération de périphériques (dont les moniteurs en utilisant le Display Data Channel - DDC) pour les drivers de port vidéo et miniport vidéo,
Les drivers graphiques doivent supporter une configuration de moniteurs multiples (La version NT 5.0 requiert que le premier adaptateur soit compatible VGA et que les autres ne le soient pas),
Les drivers graphiques ont été étendus pour supporter le DMA,
DirectDraw et Direct3D sont compatibles Direct X 6.0.
Pour les drivers d'impression, on remarque :
Un nouveau driver universel : "Microsoft Universal Printer Driver" (Unidrv) remplace le RasDD de NT 4.0. Ce nouvel apport s'accompagne de nouveaux outils de développement ainsi qu'un mode de personnalisation de ce driver par une DLL qui communique par interface COM,
Des nouveaux services ("Internet Printing" : pages Web représentant la file d'impression ; "Point and Print" : possibilité de spécifier des fichiers à envoyer automatiquement aux clients d'une file ; les "Directory Services" permettent aux drivers de modifier les valeurs des propriétés des imprimantes).
GRAPHIC DRIVERS INTERFACE (GDI)
Kernel-mode GDI (appelé plus simplement GDI) est le support intermédiaire entre un driver graphique NT et une application. Les applications appellent les fonctions du WIN32 GDI pour faire des requêtes de sortie graphique. Ces requêtes sont transmises au kernel-mode GDI qui les envoie à son tour au driver graphique correspondant qui peut être un driver d'affichage ou d'impression. Kernel-mode GDI est un module fourni par le système qui ne peut être remplacé.
La GDI communique avec le driver graphique par un ensemble de fonctions DDI. Ces fonctions sont identifiées par leur préfixe Drv. L'information est transmise entre la GDI et le driver par les parmètres d'entrée/sortie de ces points d'entrée. Le driver graphique doit supporter certaines fonctions DrvXxxx que la GDI puisse appeler. Le driver supporte les requêtes du GDI en réalisant les opérations appropriées sur le matériel associé avant de retourner au GDI.
La GDI inclut beaucoup de capacités graphiques de sortie intégrées, éliminant ainsi le besoin pour le driver de supporter ces capacités et donc permettant de réduire la taille du driver. La GDI exporte aussi des fonctions de service que le driver peut appeler, réduisant la masse de service que le driver devrait fournir.
La GDI peut être vu comme un langage graphique d'application, i.e. la GDI, ainsi que la GDI32 sont complètement indépendants des périphériques. Donc, une application n'a pas besoin d'accéder au matériel directement. A partir d'une requête graphique d'une application, la GDI travaille avec le driver graphique pour fournir une sortie graphique de haute qualité pour un ensemble de périphériques graphiques. Les mêmes appels de code GDI sont utilisés à la fois pour les périphériques d'impression et d'affichage.
Comme grandes propriétés, on peut souligner que la GDI gère :
Les bitmaps DIB,
Les tracés de ligne,
Les remplissages,
Les sorties de texte,
Les lignes et les courbes (Bézier),
Les attributs de tracé (équivalent aux styles de pinceaux de programmes de dessin),
Le "halftoning" qui permet un rendu des tons meilleur.
DEVICE DRIVER INTERFACE (DDI)
En réponse aux appels d'application indépendants du périphérique à travers la GDI, un driver graphique doit assurer que son périphérique produit le résultat désiré. Un driver graphique contrôle les sorties graphiques en implémentant autant que nécessaire la Device Driver Interface.
La GDI appelle les fonctions du DDI pour passer des informations au driver. En réponse à une requête d'une application, si la GDI détermine qu'une fonction est supportée par un driver, elle appelle cette fonction. C'est de la responsabilité du driver de supporter cette fonction et de retourner à la GDI une fois terminé.
DRIVERS VIDEO ET D'AFFICHAGE
Un driver d'affichage Windows NT est une DLL qui a comme principale responsabilité le rendu. Les applications appellent des fonctions Win32 avec des requêtes graphiques indépendantes du périphérique. La GDI interprète ces instructions et appelle le driver d'affichage. Le driver d'affichage traduit ces appels en commandes que le matériel a besoin pour afficher les graphiques sur l'écran.
Chaque driver d'affichage est jumelé avec un driver miniport vidéo en kernel-mode. Chaque driver miniport gère les opérations qui doivent interagir avec les autres composants du noyau NT.
DRIVERS LIES AUX IMPRIMANTES
L'architecture d'impression de Windows NT se compose d'un spooler d'impression et d'un ensemble de drivers d'impression. En appelant les fonctions Win32 et GDI indépendantes du périphérique, une application peut créer des travaux d'impression et les envoyer sur n'importe quel périphérique (imprimante laser ou matricielle, table traçante, ou fax). Les drivers d'impression doivent inclure une interface utilisateur pour permettre aux utilisateurs de configurer les options de l'imprimante.
Les composants spooler et driver sont conçus pour être remplaçables pour qu'un industriel puisse facilement ajouter le support pour de nouveaux matériels.
DRIVERS POUR IMAGES FIXES
L'architecture Microsoft Still Image (STI) définit l'interface COM disponible pour les périphériques d'images fixes tels que les scanners à plat et les appareils photos numériques.
L'interface COM est appelée par :
Les composants spécifiques au périphérique des API logiciels d'acquisition d'image comme les sources de données TWAIN qui sont requises pour que l'API puisse supporter le périphérique,
Les mini-drivers user-mode d'image fixe qui fournissent un chemin de communications du logiciel d'acquisition d'image aux périphériques de plus bas niveau et au drivers de bus.
|