Versiegeschiedenis van UMDF
Dit onderwerp bevat versies van User-Mode Driver Framework (UMDF), de bijbehorende versies van het Windows-besturingssysteem en de wijzigingen die in elke release zijn aangebracht.
In de volgende tabel ziet u de releasegeschiedenis van de UMDF-bibliotheek. U kunt de In dit artikel zijbalk aan de rechterkant gebruiken om snel naar een specifieke versie te navigeren.
UMDF-versie | Eerste versie | Opgenomen in | Stuurprogramma's die deze UMDF-versie gebruiken, worden uitgevoerd op |
---|---|---|---|
2.33 | Windows 11, versie 21H2 WDK; WDK voor Windows Server 2022 | Windows 11, versie 24H2; Windows 11, versie 23H2; Windows 11, versie 22H2; Windows 11, versie 21H2; Windows Server 2022 | Windows 11, versie 21H2 en hoger; Windows Server 2022 en hoger |
2.31 | Windows 10, versie 2004 WDK | Windows 10, versie 2004 (update van mei 2020, Vibranium) | Windows 10, versie 2004 en hoger |
2.29 | Niet uitgebracht in WDK | Windows 10, versie 1903 (update van maart 2019, 19H1) | Windows 10 versie 1903 en hoger |
2.27 | Windows 10, versie 1809 WDK | Windows 10, versie 1809 (update van oktober 2018, Redstone 5) | Windows 10, versie 1809 en hoger |
2,25 | Windows 10, versie 1803 WDK | Windows 10, versie 1803 (update van april 2018, Redstone 4) | Windows 10 versie 1803 en hoger |
2.23 | Windows 10, versie 1709 WDK | Windows 10, versie 1709 (Fall Creators Update, Redstone 3) | Windows 10, versie 1709 en hoger |
2.21 | Windows 10, versie 1703 WDK | Windows 10, versie 1703 (Makersupdate, Redstone 2) | Windows 10, versie 1703 en hoger |
2.19 | Windows 10, versie 1607 WDK | Windows 10, versie 1607 (Jubileumupdate, Redstone 1) | Windows 10, versie 1607, Windows Server 2016 en hoger |
2.17 | Windows 10, versie 1511 WDK | Windows 10, versie 1511 (update november, drempelwaarde 2) | Windows 10, versie 1511, Windows Server 2016 en hoger |
2.15 | Windows 10 WDK | Windows 10, versie 1507 (drempelwaarde 1) | Windows 10, versie 1507, Windows Server 2016 en hoger |
2.0 | Windows Driver Kit (WDK) 8.1 | Windows 8.1 | Windows 8.1 en hoger |
1.11 | Windows Driver Kit (WDK) 8 | Windows 8 | Windows Vista en hoger |
1.9 | Windows 7 WDK | Windows 7 | Windows XP en hoger |
1,7 | Windows Server 2008 WDK | Windows Vista met Service Pack 1 (SP1), Windows Server 2008 | Windows XP en hoger |
1.5 | Windows Vista WDK (ontwikkelaarspakket) | Windows Vista | Windows XP en hoger |
U kunt de Windows Driver Kit (WDK) gebruiken met Microsoft Visual Studio 2022 om stuurprogramma's te bouwen die worden uitgevoerd op Windows 10 en hoger.
Zie Welke frameworkversie moet ik gebruiken voor hulp bij het bepalen van welke versie van WDF?.
Zie Wat is er nieuw voor WDF-stuurprogramma'svoor informatie over de nieuwe functies voor UMDF-stuurprogramma's in Windows 10.
Voor elke sectie met UMDF-versies hieronder wordt de Windows-versie waarin deze is uitgebracht, weergegeven tussen haakjes.
Nieuwste versie - UMDF 2.33 (Windows 11, versie 21H2; Windows Server 2022)
- Voor apparaten die SystemManagedIdleTimeout of SystemManagedIdleTimeoutWithHint opgeven in de opsomming WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, wanneer de macro WdfDeviceStopIdle wordt aangeroepen met WaitForD0 ingesteld op Onwaar, als het apparaat zich nog in D0 bevindt en de time-outperiode voor inactiviteit nog niet is verstreken, geeft WdfDeviceStopIdle STATUS_SUCCESS terug (in eerdere versies resulteerde dit in een waarde van STATUS_PENDING).
- De functie WdfDeviceWdmAssignPowerFrameworkSettings ondersteunt nu UMDF.
- WDF_POWER_FRAMEWORK_SETTINGS structuur heeft twee nieuwe leden (PoFxDeviceFlags en DirectedPoFxEnabled) en kan nu worden gebruikt met UMDF. Voor UMDF worden alleen de Size, PoFxDeviceFlagsen DirectedPoFxEnabled-leden gebruikt. Andere velden worden genegeerd en moeten worden ingesteld op nul. Het framework doet dit automatisch wanneer een UMDF-stuurprogramma de WDF_POWER_FRAMEWORK_SETTINGS_INIT-functie aanroept.
UMDF 2.31 (Windows 10, versie 2004)
- Er is een nieuwe API-WdfDeviceSetDeviceInterfaceStateEx toegevoegd.
- Bestaande API-WdfDeviceGetSystemPowerAction verbeterd
- Toegevoegd per stuurprogramma HostProcessDbgBreakOnDriverLoad registerwaarde. Zie voor meer informatie Registerwaarden voor het debuggen van WDF-stuurprogramma's.
- Inleiding tot het Geregisseerd Power Management Framework
UMDF 2.29 (Windows 10, versie 1903)
Ongewijzigd ten opzichte van versie 2.27.
UMDF 2.27 (Windows 10, versie 1809)
- Nieuwe API-WdfDriverRetrieveDriverDataDirectoryString toegevoegd
UMDF 2.25 (Windows 10, versie 1803)
- WdfDeviceRetrieveDeviceDirectoryString
- Een WDF-stuurprogramma bouwen voor meerdere versies van Windows.
UMDF 2.23 (Windows 10, versie 1709)
- Aanvullende functionaliteit toegevoegd voor intern gebruik. Voor de nieuwe DDIs, zie Samenvatting van WDF-callbacks en methoden.
UMDF 2.21 (Windows 10, versie 1703)
- WdfObjectDereferenceActual-: het type parameter File is gewijzigd van PCHAR naar PCCH.
- WdfObjectReferenceActual-: Het type van parameter Bestand is gewijzigd van PCHAR naar PCCH.
- WDF-registerwaarden ObjectLeakDetectionLimit en ObjectsForLeakDetection toegevoegd voor het debuggen van overmatige objectcreatie. Zie Registerwaarden voor foutopsporing van WDF-stuurprogramma'svoor meer informatie.
UMDF 2.19 (Windows 10, versie 1607)
Er zijn geen wijzigingen of toevoegingen voor UMDF-versie 2.19.
UMDF 2.17 (Windows 10, versie 1511)
Met deze versie wordt UMDF-ondersteuning toegevoegd voor de volgende bestaande interfaces:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Voor meer informatie, zie IRP's verzenden naar I/O-wachtrijen.
UMDF 2.15 (Windows 10, versie 1507)
- Met de nieuwe WdfDeviceOpenDevicemapKey methode kan een stuurprogramma toegang krijgen tot subsleutels en waarden onder HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Een UMDF-stuurprogramma kan WdfIoTargetWdmGetTargetFileHandle aanroepen om een bestandsgreep te verkrijgen naar het lagere kernelmode-stuurprogramma in zijn stack. Het stuurprogramma kan gegevens naar die ingang schrijven, waardoor de abstracties van het framework worden overgeslagen voor het verzenden van I/O naar het lokale I/O-doel.
- Een UMDF-stuurprogramma kan aanvragen dat het onderliggende busstuurprogramma het opnieuw laat opsommen. Zie WdfDeviceSetFailed.
- Het instellen van de UmdfDirectHardwareAccess instructie is niet meer altijd nodig voor apparaten met verbindingsbronnen. Zie Het specificeren van WDF-richtlijnen in INF-bestanden.
- WDF-broncode is openbaar beschikbaar via Windows Driver Frameworks. De persoonlijke symboolbestanden voor WDF zijn beschikbaar via de Microsoft Symbol Server. Zie ook Foutopsporing met WDF-bron en Video: Fouten opsporen in uw stuurprogramma met WDF-broncode.
- Inflight Trace Recorder (IFR) nu beschikbaar. Houd er rekening mee dat dit gescheiden is van de gebeurtenislogboekregistratie van het framework. Zie voor meer informatie Inflight Trace Recorder (IFR) voor het vastleggen van traceringen en het gebruik van de Inflight Trace Recorder in KMDF- en UMDF-stuurprogramma's.
- Ondersteuning voor interrupts voor door GPIO ondersteunde apparaten. Zie Een interruptobject makenvoor meer informatie.
UMDF 2.0 (Windows 8.1)
Naast de gedeelde functionaliteit die wordt beschreven in Aan de slag met UMDF, voegt UMDF versie 2.0 toe:
Ondersteuning voor timers die het systeem niet wakker maken als ze verlopen wanneer het systeem een lage energiestatus heeft. Voor meer informatie, zie Timers gebruiken.
CanWakeDevice lid toegevoegd aan WDF_INTERRUPT_CONFIG structuur ter ondersteuning van interrupts die kunnen worden gebruikt om een apparaat terug te brengen van een dx-status met weinig vermogen naar de volledige D0-status. Zie Een Interrupt Gebruiken om een Apparaat te Wekkenvoor meer informatie.
Energiebeheer met één onderdeel, één status (F0) voor UMDF-stuurprogramma's. Zie WdfDeviceAssignS0IdleSettingsvoor meer informatie.
Verschillende extensieopdrachten voor foutopsporingsprogramma's in Wdfkd.dll kunnen nu ook worden gebruikt voor UMDF 2.0-stuurprogramma's. De extensiebibliotheek bevat ook de volgende nieuwe extensieopdrachten die speciaal zijn ontworpen voor foutopsporing van UMDF 2.0-stuurprogramma's:
-
Zie Extensies voor foutopsporingsprogramma'svoor een lijst met extensieopdrachten en frameworktoepasselijkheid.
De gebeurtenislogger van het framework, of In-Flight Recorder (IFR), is bijgewerkt zodat het werkt met UMDF 2.0-stuurprogramma's.
Andere WDF-foutopsporingsprogramma-extensies zijn bijgewerkt voor gebruik met UMDF 2.0-stuurprogramma's. Zie Extensies voor foutopsporingsprogramma's voor WDF-stuurprogramma'svoor een volledige lijst met extensieopdrachten, inclusief informatie over welke opdrachten van toepassing zijn op welk framework.
Er is WdfIoTargetOpenLocalTargetByFile toegevoegd aan WDF_IO_TARGET_OPEN_TYPE zodat UMDF-stuurprogramma's door stuurprogramma's gemaakte aanvragen kunnen verzenden om doelen te verlagen waarvoor een gekoppeld bestandsobject is vereist. Zie de opmerkingen van WDF_IO_TARGET_OPEN_TYPEvoor meer informatie.
De volgende UMDF-routines:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty-
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (toegevoegd aan KMDF 1.21)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (toegevoegd aan KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
De volgende KMDF-/UMDF-methoden worden beschreven in Toegang tot het model voor geïntegreerde apparaateigenschappen:
Ondersteuning voor de volgende USB-configuratietypen in WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Ondersteuning voor het opvragen van de volgende functionaliteitstypen in WdfUsbTargetDeviceQueryUsbCapability:
- GUID_USB_CAPACITEIT_APPAAR_VERBINDING_HOOG_SNELHEID_COMPATIBEL
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
Toegevoegd: WDF Register/Port Access Functions
UMDF 1.11 (Windows 8)
Versie 1.11 voegt de volgende door het stuurprogramma geleverde callback-interfaces en event callback-functies toe:
Versie 1.11 voegt de volgende door het framework geleverde interfaces toe:
Versie 1.11 voegt de volgende mogelijkheden toe aan stuurprogramma's op basis van UMDF:
Toegevoegd: UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicyen UmdfFsContextUsePolicy richtlijnen, zoals beschreven in WDF-instructies opgeven in INF-bestanden
Geünificeerde eigenschappenopslag ondersteuning, beschreven in Het register gebruiken in UMDF-gebaseerde stuurprogramma's
IoGetDeviceObjectPointer- is geïntegreerd voor gebruik met UMDF. In eerdere versies sluit deze routine de ingang naar het apparaatobject na het nemen van een verwijzing op de ingang van het apparaat. Dit gedrag is niet compatibel met de verwachting van UMDF dat de opschoonaanvraag op het apparaatobject pas plaatsvindt nadat alle I/O is voltooid.
Verbeterde ondersteuning voor Ondersteuning van inactieve status Power-Down in UMDF-gebaseerde stuurprogramma's. Het framework kan nu het apparaat in de D3cold-stroomstatus zetten zodra de inactiviteitstijd is verstreken. Het framework kan er ook toe leiden dat het apparaat terugkeert naar zijn werkende toestand (D0) wanneer het systeem terugkeert naar zijn werkende toestand (S0).
De volgende voorbeelden zijn nieuw in UMDF 1.11: WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
Versie 1.9 voegt de volgende door het stuurprogramma geleverde callback-interfaces toe:
Versie 1.9 voegt de volgende door framework geleverde interfaces toe:
Deze interfaces voegen de volgende mogelijkheden toe aan stuurprogramma's op basis van UMDF:
De directe I/O- buffertoegangsmethode
Continue lezers voor USB-apparaten
Verbeterde ondersteuning voor apparaatinterfaces
Verbeterde mogelijkheid om I/O-aanvragen te annuleren
Verbeterde toegang tot het -register