Windows Driver Foundation

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Windows Driver Foundations sau WDF este un cadru creat de Microsoft pentru a scrie driverele de dispozitiv ale sistemelor lor de operare Windows . Scopul WDF este de a depăși o serie de probleme, evidențiate în timp, ale modelului de driver Windows creat pentru Windows 98 / NT .

Descriere

WDF este complet orientat spre evenimente și orientat pe obiecte , conceput special pentru a ușura munca programatorilor, permițându-le să se concentreze asupra hardware-ului care urmează să fie gestionat și a funcțiilor software care urmează să fie implementate, oferind comportamente implicite pentru evenimentele care nu îi interesează. Există doar două clase de drivere în WDF:

  • KMDF, Kernel-Mode Driver Foundations, pentru toți acei drivere care trebuie să comunice direct cu hardware-ul sau să lucreze în contact foarte strâns cu acesta: codul lor rulează la inelul zero, cu aceleași privilegii ca și sistemul de operare.
  • UMDF, User-Mode Driver Foundations, pentru driverele care nu trebuie să comunice cu hardware-ul, dar se pot conecta la dispozitivul lor printr-o magistrală de conexiune (folosind astfel un alt driver). De exemplu drivere pentru camere digitale, playere multimedia, dispozitive GPS etc.

Ambele tipuri de drivere conțin în mod implicit codul ETW (Enhanced Tracing pentru Windows), care permite urmărirea evenimentelor software primite, permițând depanarea mai ușoară a driverelor în sine. Noul cadru acceptă în mod automat semnătura digitală a driverelor și introduce versiunea , un mecanism care va permite driverelor WDF să se adapteze la versiunea specială de Windows pe care sunt instalate. Sunt disponibile și instrumente software suplimentare, PREfast și SDV, pentru ca dezvoltatorii să efectueze verificarea statică a driverului în timpul compilării. O altă noutate a WDF în comparație cu trecutul este suportul (doar suportul, deocamdată) pentru izolarea driverelor , adică decuplarea driverelor de restul nucleului, pentru a permite sistemului de operare să depășească o posibilă eroare internă a șoferul fără să se prăbușească sau să se prăbușească.

Comparativ cu WDM-ul anterior, îmbunătățirile sunt remarcabile:

  • Nu mai există zeci de modele de șoferi diferiți (miniport, clasă, autobuz etc.);
  • Structurile de date interne ale sistemului de operare nu mai sunt expuse codului driverului;
  • Ambele clase de drivere WDF implementează intern aproape toată logica internă de urmărire a stării driverelor, hardware-ului și sistemelor de operare necesare implementării Plug and Play și a gestionării alimentării, eliminând astfel sursa principală a erorilor de programare din drivere;
  • Ambele clase de drivere WDF gestionează automat, ca evenimente, recepția și transmiterea IRP-urilor (pachete de solicitare I / O) între nucleu, dispozitive și alți drivere;

Principalii omologi ai acestor îmbunătățiri sunt o dimensiune mai mare a codului pentru drivere, care va ocupa, prin urmare, mai mult spațiu de memorie și o viteză probabil mai mică, datorită cheltuielilor generale ale mecanismelor de separare WDF.

Elemente conexe

linkuri externe

Microsoft Portal Microsoft : Accesați intrările Wikipedia despre Microsoft