User Mode Driver Framework

User Mode Driver Framework (UMDF)
Sorts Utvecklingsplattform för drivrutiner
Utvecklaren Microsoft
Skrivet i C , C++
Operativ system Microsoft Windows
Första upplagan 12 oktober 2004  ( 2004-10-12 )
senaste versionen 2,27 (24 mars 2019 ) ( 2019-03-24 )
Licens MIT-licens
Hemsida docs.microsoft.com/en-us/windows-hardware/drivers/wdf/overview-of-the-umdf

User -Mode Driver Framework ( UMDF ) är ett användarlägesutvecklingsramverk för drivrutiner som introducerats med Windows Vista och även tillgängligt för Windows XP . Detta gör det lättare att skapa drivrutiner för specifika enhetsklasser. [ett]

översikt

Standarddrivrutiner kan vara svåra att skriva eftersom de måste hantera ett mycket brett utbud av system- och enhetstillstånd, speciellt i en flertrådig programmeringsmiljö. Dåligt skrivna drivrutiner kan orsaka allvarlig systemkorruption (t.ex. BSoD och datakorruption) eftersom alla standarddrivrutiner har höga privilegier när de kommer åt kärnan direkt. Användarlägesdrivrutinplattformen isolerar kärnan från problemen med direkt drivrutinåtkomst och tillhandahåller istället en ny förarklass med ett dedikerat applikationsprogrammeringsgränssnitt för avbrott på användarnivå och minneshantering. I händelse av ett fel gör den nya strukturen att föraren kan startas om omedelbart utan att systemet påverkas. Detta är särskilt användbart för enheter som är intermittent anslutna till systemet eller är hot-swappable via en bussteknik som USB eller FireWire .

Enligt Microsoft är UMDF-drivrutiner lättare att skriva och felsöka än drivrutiner i kärnläge. [2] Däremot kommer UMDF inte att användas för enheter med hög prestanda eller tillstånd.

Den första versionen av UMDF skickades som en del av Windows Media Player version 10 den 12 oktober 2004. Kodnamnet "Crescent" designades för att stödja Media Transfer Protocol- drivrutinen och inga offentliga gränssnitt eller dokumentation har tillhandahållits för den. Microsoft beslutade senare att förvandla UMDF till en utvecklingsplattform för drivrutiner. [3]

Versionshistorik

Arkitektur

UMDF-drivrutinen är en DLL baserad på Microsofts Component Object Model (COM). UMDF använder dock inte COM för laddning, lossning eller samtidighetskontroll ; den använder bara COM som ett designmönster , till exempel att använda COM IUnknown- gränssnittet . Vid uppstart anropar UMDF "DllGetClassObject" för att få en pekare till "IClassFactory"-gränssnittet i drivrutinen, och använder sedan metoden "CreateInstance" i IClassFactory-gränssnittet för att instansiera förarens callback-objekt.

Ett drivrutinsobjekt är en instans av IWDFDriver-gränssnittet som tillhandahålls av ramverket. Föraren exponerar en uppsättning återuppringningar via IDriverEntry COM-gränssnittet, som är den primära ingångspunkten för drivrutinskonfiguration.

Se även

Referenser

  1. Programmera drivrutiner för UMDF . Hämtad 2 januari 2022. Arkiverad från originalet 2 januari 2022.
  2. Fördelar med att skriva UMDF-drivrutiner . Hämtad 2 januari 2022. Arkiverad från originalet 23 juli 2015.
  3. Charles Torre, Peter Wieland. Peter Wieland: User Mode Driver Framework . Kanal 9 . Microsoft (18 september 2006). Hämtad 18 september 2006. Arkiverad från originalet 17 februari 2007.
  4. Microsoft Support. User-Mode Driver Framework version 1.11-uppdatering för Windows Vista, Windows Server 2008, Windows 7 och Windows Server 2008 R2 . Microsoft. Hämtad 1 december 2012. Arkiverad från originalet 30 november 2012.
  5. Vanliga frågor om drivrutiner för användarläge (Windows-drivrutiner) . Microsoft. Tillträdesdatum: 4 juni 2014. Arkiverad från originalet 22 april 2014.

Länkar