Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym temacie wymieniono wersje Kernel-Mode Driver Framework (KMDF), odpowiednie wersje systemu operacyjnego Windows oraz zmiany wprowadzone w każdej wersji.
W poniższej tabeli przedstawiono historię wersji biblioteki KMDF. Możesz użyć W tym artykule pasek boczny po prawej stronie, aby szybko przejść do określonej wersji.
| Wersja usługi KMDF | Wydanie początkowe | Uwzględnione w | Sterowniki korzystające z tej wersji KMDF działają na |
|---|---|---|---|
| 1,33 | Windows 11, wersja 21H2 WDK; Zestaw WDK dla systemu Windows Server 2022 | Windows 11, wersja 24H2; Windows 11, wersja 23H2; Windows 11, wersja 22H2; Windows 11, wersja 21H2; Windows Server 2022 | Windows 11, wersja 21H2 i nowsze; Windows Server 2022 lub nowszy |
| 1.31 | Windows 10, wersja 2004 WDK | Windows 10, wersja 2004 | Windows 10, wersja 2004 i nowsze |
| 1,29 | Nie wydano w WDK | Windows 10, wersja 1903 | Windows 10, wersja 1903 i nowsze |
| 1.27 | Windows 10, wersja 1809 WDK | Windows 10, wersja 1809 | Windows 10, wersja 1809 i nowsze |
| 1.25 | Windows 10, wersja 1803 WDK | Windows 10, wersja 1803 | Windows 10, wersja 1803 i nowsze |
| 1.23 | Windows 10, wersja 1709 WDK | Windows 10, wersja 1709 | Windows 10, wersja 1709 lub nowsza |
| 1.21 | Windows 10, wersja 1703 WDK | Windows 10, wersja 1703 | Windows 10, wersja 1703 lub nowsza |
| 1.19 | Windows 10, wersja 1607 WDK | Windows 10, wersja 1607 | Windows 10 w wersji 1607, Windows Server 2016 i nowszych |
| 1.17 | Windows 10, wersja 1511 WDK | Windows 10, wersja 1511 | Windows 10 w wersji 1511, Windows Server 2016 i nowszych |
| 1.15 | Windows 10 WDK | Windows 10, wersja 1507 | Windows 10, wersja 1507, Windows Server 2016 i nowsze |
| 1.13 | Windows 8.1 WDK | Windows 8.1 | System Windows 8.1 lub nowszy |
| 1.11 | Windows 8 WDK | Windows 8 | Windows Vista i nowsze |
| 1,9 | Windows 7 WDK | Windows 7 | Windows XP i nowsze |
| 1,7 | Windows Server 2008 WDK | Windows Vista z dodatkiem Service Pack 1 (SP1); Windows Server 2008 | Windows 2000 lub nowszy |
| 1.5 | Windows Vista WDK | Windows Vista | Windows 2000 lub nowszy |
| 1.1 | Pobierz tylko | Żaden | Windows 2000 lub nowszy |
| 1.0 | Pobierz tylko | Żaden | Windows XP i nowsze |
Zestaw sterowników systemu Windows (WDK) z programem Microsoft Visual Studio 2022 umożliwia tworzenie sterowników uruchamianych w systemie Windows 10 lub nowszym.
Aby uzyskać pomoc dotyczącą określania używanej wersji usługi WDF, zobacz Której wersji struktury należy używać?.
Aby uzyskać pełną listę wywołań zwrotnych i metod oraz platform i wersji, do których mają zastosowanie, zobacz Podsumowanie wywołań zwrotnych i metod WDF.
Aby uzyskać informacje o nowych funkcjach sterowników KMDF w systemie Windows 10, zobacz Co nowego w sterownikach WDF.
Dla każdej poniższej sekcji wersji usługi KMDF wersja systemu Windows, w której została wydana, jest wymieniona w nawiasach.
Najnowsza wersja — KMDF 1.33 (Windows 11, wersja 21H2; Windows Server 2022)
- W przypadku urządzeń, które określają SystemManagedIdleTimeout lub SystemManagedIdleTimeoutWithHint w wyliczeniu WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, podczas wywoływania makraWdfDeviceStopIdle z WaitForD0 ustawione na FALSE, jeśli urządzenie jest nadal w D0, a okres bezczynności nie upłynął jeszcze, WdfDeviceStopIdle zwraca STATUS_SUCCESS (w poprzednich wersjach oznaczało zwrócenie wartości STATUS_PENDING).
- WDF_POWER_FRAMEWORK_SETTINGS struktura ma dwa nowe członkowskie elementy (PoFxDeviceFlags i DirectedPoFxEnabled).
KMDF 1.31 (Windows 10, wersja 2004)
- Dodano nowe API WdfDeviceSetDeviceInterfaceStateEx
- Ulepszono istniejący interfejs API WdfDeviceGetSystemPowerAction
- Dodano nowy interfejs API WdfPdoInitRemovePowerDependencyOnParent
- Wprowadzenie do sterowanych ram zarządzania energią
KMDF 1.29 (Windows 10, wersja 1903)
Bez zmian z wersji 1.25.
KMDF 1.27 (Windows 10, wersja 1809)
Bez zmian z wersji 1.25.
KMDF 1.25 (Windows 10, wersja 1803)
KMDF 1.23 (Windows 10, wersja 1709)
- Funkcje towarzyszące dodane tylko do użytku wewnętrznego. Aby uzyskać więcej informacji, zobacz Wdfcompanion.h.
KMDF 1.21 (Windows 10, wersja 1703)
- WdfFileObjectGetInitiatorProcessId był wcześniej dostępny tylko w UMDF, teraz jest dostępny w KMDF.
- WdfRequestGetRequestorProcessId wcześniej był dostępny tylko w UMDF, teraz dostępny w KMDF.
- WdfObjectDereferenceActual: typ parametru pliku został zmieniony z PCHAR na PCCH.
- WdfObjectReferenceActual: typ parametru pliku został zmieniony z PCHAR na PCCH.
- Dodano wartości rejestru WDF ObjectLeakDetectionLimit i ObjectsForLeakDetection do debugowania nadmiernego tworzenia obiektu. Aby uzyskać więcej informacji, zobacz wartości rejestru debugowania sterowników WDF .
- Narzędzie oprogramowania SleepStudy zgłasza liczbę odwołań do zasilania, które sterownik KMDF ma, które uniemożliwiają systemowi uśpienie. Aby uzyskać więcej informacji, zobacz Modern standby SleepStudy.
KMDF 1.19 (Windows 10, wersja 1607)
- Dodano WdfDmaTransactionSetSingleTransferRequirement
- Dodano flagę WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER w WDF_DMA_ENABLER_CONFIG_FLAGS
- Dodano wartość zwracaną STATUS_WDF_TOO_MANY_TRANSFERS dla WdfDmaTransactionInitialize i WdfDmaTransactionDmaCompleted
- Dodano komunikaty wyjściowe dla pojedynczego wyjścia transferu do !wdfkd.wdfdmatransaction i !wdfkd.wdfdmaenabler
- Aby uzyskać więcej informacji na temat pojedynczego transferu DMA, zobacz Korzystanie z pojedynczego transferu DMA.
KMDF 1.15 (Windows 10, wersja 1507)
- Nowa metoda WdfDeviceOpenDevicemapKey umożliwia sterownikowi dostęp do podkluczy i wartości w HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- Kod źródłowy projektu WDF jest publicznie dostępny w Windows Driver Frameworks. Prywatne pliki symboli dla usługi WDF są dostępne za pośrednictwem serwera symboli firmy Microsoft. Zobacz również Debugowanie ze źródłem WDF oraz Wideo: Debugowanie twojego sterownika z kodem źródłowym WDF.
- Narzędzie Inflight Trace Recorder (IFR) jest teraz dostępne. Należy pamiętać, że jest to oddzielne od rejestratora zdarzeń platformy . Aby uzyskać więcej informacji, zobacz Inflight Trace Recorder (IFR) do rejestrowania śladów oraz Jak korzystać z Inflight Trace Recorder w sterownikach KMDF i UMDF.
- Obsługa przerwań dla urządzeń z obsługą GPIO. Aby uzyskać więcej informacji, zobacz Tworzenie obiektu przerwania.
KMDF 1.13 (Windows 8.1)
Usługa KMDF w wersji 1.13 dodaje następujące funkcje:
- Dodano elementu członkowskiego CanWakeDevice do WDF_INTERRUPT_CONFIG struktury w celu obsługi przerwań, których można użyć do przełączenie urządzenia ze stanu Dx o niskiej mocy z powrotem do stanu W pełni na D0. Aby uzyskać więcej informacji, zobacz Używanie przerwania do wznawiania urządzenia.
- Obsługa czasomierzy o wysokiej rozdzielczości. Aby uzyskać więcej informacji, zobacz Using Timers.
- Obsługa timerów, które nie wznawiają systemu, jeśli wygasną, gdy system jest w stanie niskiego poboru energii. Aby uzyskać więcej informacji, zobacz Using Timers.
- Następujące metody KMDF/UMDF opisane w temacie Uzyskiwanie dostępu do modelu ujednoliconej właściwości urządzenia:
Aby uzyskać informacje na temat wersji UMDF, zobacz Historia wersji usługi UMDF.
KMDF 1.11 (Windows 8)
Wersja 1.11 dodaje następujące funkcje:
Obsługa przerwań na poziomie pasywnym
Stan zasilania funkcjonalnego dla wielu składników w jednym urządzeniu
Przekazywanie IRPs do kolejek we/wy
Następujące metody:
- WdfDeviceConfigureWdmIrpDispatchCallback
- WdfDeviceInitSetReleaseHardwareOrderOnFailure
- #B0 #A1 WdfDeviceInitSetRemoveLockOptions #A2 #C3
- WdfDeviceWdmDispatchIrp
- WdfDmaEnablerConfigureSystemProfile
- WdfDmaTransactionAllocateResources
- WdfDmaTransactionCancel
- WdfDmaTransactionFreeResources
- WdfDmaTransactionGetTransferInfo
- WdfDmaTransactionInitializeUsingOffset
- WdfDmaTransactionSetChannelConfigurationCallback
- WdfDmaTransactionSetDeviceAddressOffset
- WdfDmaTransactionSetImmediateExecution
- WdfDmaTransactionSetTransferCompleteCallback
- WdfDmaTransactionWdmGetTransferContext
- WdfInterruptQueueWorkItemForIsr
- WdfInterruptReportActive
- WdfInterruptReportInactive
- WdfInterruptTryToAcquireLock
- WdfIoQueueStopAndPurge
- WdfIoQueueStopAndPurgeSynchronously
- WdfIoTargetPurge
- #B0 #A1 WdfUsbTargetDeviceCreateIsochUrb #A2 #C3
- #B0 #A1 WdfUsbTargetDeviceCreateUrb #A2 #C3
- WdfUsbTargetDeviceCreateWithParameters
- WdfUsbTargetDeviceQueryUsbCapability
Dodano EvtDeviceUsageNotificationEx.
Dodano składowe IdleTimeoutType i ExcludeD3Cold do WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Dodano składnik ReportInactiveOnPowerDown do WDF_INTERRUPT_CONFIG.
Dodano wartość WdfIoTargetPurged do WDF_IO_TARGET_STATE.
Dodano wartość WdfSpecialFileBoot do WDF_SPECIAL_FILE_TYPE.
Dodano element DbgWaitForSignalTimeoutInSec do wartości rejestru dla sterowników opartych na strukturze debugowania.
Dodano przykłady InstallWdf, MultiComp i SingleComp .
KMDF 1.9 (Windows 7)
Wersja 1.9 dodaje następujące funkcje:
Gwarantowany postęp dla kolejek wejścia/wyjścia
Obsługa przekolejkowania żądań I/O z kolejki I/O urządzenia podrzędnego do kolejki I/O urządzenia nadrzędnego
Możliwość określenia synchronizacji na poziomie kolejki dla poszczególnych obiektów kolejki.
Następujące metody:
Dodano element NumberOfPresentedRequests do struktury WDF_IO_QUEUE_CONFIG, aby sterowniki mogły ograniczyć liczbę żądań we/wy, które framework dostarcza do sterownika z równoległej kolejki we/wy.
Dodano flagę WdfFileObjectCanBeOptional do struktury WDF_FILEOBJECT_CLASS .
Dodano element członkowski TolerableDelay do struktury WDF_TIMER_CONFIG .
Dodano wartości rejestru WdfDefaultIdleInWorkingState i WdfDefaultWakeFromSleepState .
KMDF 1.7 (Windows Vista z dodatkiem Service Pack 1; Windows Server 2008)
Metodę WdfDeviceEnqueueRequest można wywołać pod adresem IRQL<=DISPATCH_LEVEL.
Metodę WdfWorkItemEnqueue można wywołać, jeśli określony element roboczy znajduje się już w kolejce elementu roboczego.
Dodano funkcję wywołania zwrotnego zdarzenia EvtDeviceArmWakeFromSxWithReason.
Dodano elementy ArmForWakeIfChildrenAreArmedForWake i IndicateChildWakeOnParentWake do struktury WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
Dodano człon DriverPoolTag do WDF_DRIVER_CONFIG.
KMDF 1.1 (nie został wydany w wersji systemu Windows)
- Następujące metody:
KMDF 1.0 (nie został wydany w wersji systemu Windows)
Pierwsze wydanie.