KMDF 버전 기록
이 항목에서는 KMDF(커널 모드 드라이버 프레임워크), 해당 버전의 Windows 운영 체제 및 각 릴리스의 변경 내용을 나열합니다.
다음 표에서는 KMDF 라이브러리의 릴리스 기록을 보여 줍니다. 오른쪽의 이 문서 사이드바에서 특정 버전으로 빠르게 이동할 수 있습니다.
KMDF 버전 | 초기 릴리스 | 포함된 운영 체제 | 이 KMDF 버전을 사용하는 드라이버는 다음에서 실행됩니다. |
---|---|---|---|
1.33 | Windows 11 버전 21H2 WDK; Windows Server 2022용 WDK | Windows 11 버전 24H2; Windows 11 버전 23H2; Windows 11 버전 22H2; Windows 11 버전 21H2; Windows Server 2022 | Windows 11 버전 21H2 이상; Windows Server 2022 이상 |
1.31 | Windows 10 버전 2004 WDK | Windows 10, 버전 2004 | Windows 10 버전 2004 이상 |
1.29 | WDK에서 릴리스되지 않음 | Windows 10, 버전 1903 | Windows 10 버전 1903 이상 |
1.27 | Windows 10 버전 1809 WDK | Windows 10, 버전 1809 | Windows 10 버전 1809 이상 |
1.25 | Windows 10 버전 1803 WDK | Windows 10, 버전 1803 | Windows 10, 버전 1803 이상 |
1.23 | Windows 10 버전 1709 WDK | Windows 10 버전 1709 | Windows 10 버전 1709 이상 |
1.21 | Windows 10 버전 1703 WDK | Windows 10 버전 1703 | Windows 10 버전 1703 이상 |
1.19 | Windows 10 버전 1607 WDK | Windows 10 버전 1607 | Windows 10 버전 1607, Windows Server 2016 이상 |
1.17 | Windows 10 버전 1511 WDK | Windows 10 버전 1511 | Windows 10 버전 1511, Windows Server 2016 이상 |
1.15 | Windows 10 WDK | Windows 10 버전 1507 | Windows 10 버전 1507, Windows Server 2016 이상 |
1.13 | Windows 8.1 WDK | Windows 8.1 | Windows 8.1 이상 |
1.11 | Windows 8 WDK | Windows 8 | Windows Vista 이상 |
1.9 | Windows 7 WDK | Windows 7 | Windows XP 이상 |
1.7 | Windows Server 2008 WDK | Windows Vista sp1(서비스 팩 1) Windows Server 2008 | Windows 2000 이상 |
1.5 | Windows Vista WDK | Windows Vista | Windows 2000 이상 |
1.1 | 다운로드 전용 | None | Windows 2000 이상 |
1.0 | 다운로드 전용 | None | Windows XP 이상 |
Microsoft Visual Studio 2022에서 WDK(Windows 드라이버 키트)를 사용하여 Windows 10 이상에서 실행되는 드라이버를 빌드할 수 있습니다.
사용할 WDF 버전을 결정하는 데 도움이 필요한 경우 어떤 프레임워크 버전을 사용해야 하나요?를 참조하세요.
콜백 및 메서드의 전체 목록과 적용되는 프레임워크 및 버전은 WDF 콜백 및 메서드 요약을 참조 하세요.
Windows 10의 KMDF 드라이버에 대한 새로운 기능에 대한 자세한 내용은 WDF 드라이버의 새로운 기능을 참조 하세요.
아래의 각 KMDF 버전 섹션에 대해 릴리스된 Windows 버전이 괄호로 나열됩니다.
최신 버전 - KMDF 1.33(Windows 11, 버전 21H2; Windows Server 2022)
- WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE 열거형에서 SystemManagedIdleTimeout 또는 SystemManagedIdleTimeoutWithHint을 지정하는 디바이스의 경우 WaitForD0이 FALSE로 설정된 WdfDeviceStopIdle 매크로를 호출할 때 디바이스가 D0에 있고 유휴 시간 제한이 아직 경과하지 않은 경우 WdfDeviceStopIdle은 STATUS_SUCCESS 반환합니다(이전 버전에서는 반환 값이 STATUS_PENDING).
- WDF_POWER_FRAMEWORK_SETTINGS 구조체에는 두 개의 새 멤버(PoFxDeviceFlags 및 DirectedPoFxEnabled)가 있습니다.
KMDF 1.31(Windows 10 버전 2004)
- 새 API WdfDeviceSetDeviceInterfaceStateEx 추가됨
- 기존 API WdfDeviceGetSystemPowerAction 개선
- 새 API WdfPdoInitRemovePowerDependencyOnParent가 추가됨
- 지시된 전원 관리 프레임워크 소개
KMDF 1.29(Windows 10 버전 1903)
버전 1.25에서 변경되지 않았습니다.
KMDF 1.27(Windows 10 버전 1809)
버전 1.25에서 변경되지 않았습니다.
KMDF 1.25(Windows 10 버전 1803)
- 여러 버전의 Windows용 WDF 드라이버 빌드
KMDF 1.23(Windows 10 버전 1709)
- 내부용으로만 추가된 도우미 기능입니다. 자세한 내용은 Wdfcompanion.h를 참조 하세요.
KMDF 1.21(Windows 10 버전 1703)
- WdfFileObjectGetInitiatorProcessId 는 이전에 UMDF 전용이었으며 이제 KMDF에서 사용할 수 있습니다.
- WdfRequestGetRequestorProcessId 는 이전에 UMDF 전용이었으며 이제 KMDF에서 사용할 수 있습니다.
- WdfObjectDereferenceActual: PCHAR에서 PCCH로 변경된 파일 매개 변수의 형식입니다.
- WdfObjectReferenceActual: PCHAR에서 PCCH로 변경된 파일 매개 변수의 형식입니다.
- 과도한 개체 생성을 디버깅하기 위한 WDF 레지스트리 값 ObjectLeakDetectionLimit 및 ObjectsForLeakDetection 이 추가되었습니다. 자세한 내용은 WDF 드라이버 디버깅에 대한 레지스트리 값을 참조 하세요.
- SleepStudy 소프트웨어 도구는 KMDF 드라이버가 시스템이 절전 모드로 들어가지 못하게 하는 전원 참조 수를 보고합니다. 자세한 내용은 최신 대기 SleepStudy를 참조 하세요.
KMDF 1.19(Windows 10 버전 1607)
- WdfDmaTransactionSetSingleTransferRequirement 추가 됨
- WDF_DMA_ENABLER_CONFIG_FLAGS WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER 플래그 추가됨
- WdfDmaTransactionInitialize 및 WdfDmaTransactionDmaCompleted에 대한 STATUS_WDF_TOO_MANY_TRANSFERS 반환 값이 추가됨
- !wdfkd.wdfdmatransaction 및 !wdfkd.wdfdmaenabler에 단일 전송 출력에 대한 출력 메시지 추가
- 단일 전송 DMA에 대한 자세한 내용은 단일 전송 DMA 사용을 참조하세요.
KMDF 1.15(Windows 10 버전 1507)
- 새 WdfDeviceOpenDevicemapKey 메서드를 사용하면 드라이버가 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP 아래의 하위 키 및 값에 액세스할 수 있습니다.
- WDF 소스 코드는 Windows 드라이버 프레임워크에서 공개적으로 사용할 수 있습니다. WDF에 대한 프라이빗 기호 파일은 Microsoft 기호 서버를 통해 사용할 수 있습니다. WDF 소스 및 비디오로 디버깅: WDF 소스 코드를 사용하여 드라이버 디버깅도 참조하세요.
- 이제 IFR(Inflight Trace Recorder)을 사용할 수 있습니다. 프레임워크의 이벤트 로거와는 별개입니다. 자세한 내용은 KMDF 및 UMDF 드라이버에서 추적 로깅 및 기내 추적 레코더 사용에 대한 IFR(Inflight Trace Recorder)을 참조하세요.
- GPIO 지원 디바이스에 대한 인터럽트 지원. 자세한 내용은 인터럽트 개체 만들기를 참조 하세요.
KMDF 1.13(Windows 8.1)
KMDF 버전 1.13에는 다음 기능이 추가됩니다.
- 저전력 Dx 상태에서 완전히 켜진 D0 상태로 디바이스를 가져오는 데 사용할 수 있는 인터럽트를 지원하기 위해 WDF_INTERRUPT_CONFIG 구조에 CanWakeDevice 멤버가 추가되었습니다. 자세한 내용은 인터럽트를 사용하여 디바이스 절전 모드 해제를 참조 하세요.
- 고해상도 타이머 지원. 자세한 내용은 타이머 사용을 참조 하세요.
- 시스템이 저전력 상태일 때 만료되는 경우 시스템을 해제하지 않는 타이머를 지원합니다. 자세한 내용은 타이머 사용을 참조 하세요.
- 통합 디바이스 속성 모델 액세스에 설명된 KMDF/UMDF 메서드는 다음과 같습니다.
UMDF 버전에 대한 자세한 내용은 UMDF 버전 기록을 참조 하세요.
KMDF 1.11(Windows 8)
버전 1.11에는 다음 기능이 추가됩니다.
다음과 같은 메서드
- WdfDeviceConfigureWdmIrpDispatchCallback
- WdfDeviceInitSetReleaseHardwareOrderOnFailure
- WdfDeviceInitSetRemoveLockOptions
- WdfDeviceWdmDispatchIrp
- WdfDmaEnablerConfigureSystemProfile
- WdfDmaTransactionAllocateResources
- WdfDmaTransactionCancel
- WdfDmaTransactionFreeResources
- WdfDmaTransactionGetTransferInfo
- WdfDmaTransactionInitializeUsingOffset
- WdfDmaTransactionSetChannelConfigurationCallback
- WdfDmaTransactionSetDeviceAddressOffset
- WdfDmaTransactionSetImmediateExecution
- WdfDmaTransactionSetTransferCompleteCallback
- WdfDmaTransactionWdmGetTransferContext
- WdfInterruptQueueWorkItemForIsr
- WdfInterruptReportActive
- WdfInterruptReportInactive
- WdfInterruptTryToAcquireLock
- WdfIoQueueStopAndPurge
- WdfIoQueueStopAndPurgeSynchronously
- WdfIoTargetPurge
- WdfUsbTargetDeviceCreateIsochUrb
- WdfUsbTargetDeviceCreateUrb
- WdfUsbTargetDeviceCreateWithParameters
- WdfUsbTargetDeviceQueryUsbCapability
EvtDeviceUsageNotificationEx가 추가 되었습니다.
WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleTimeoutType 및 ExcludeD3Cold 멤버가 추가되었습니다.
WDF_INTERRUPT_CONFIG ReportInactiveOnPowerDown 멤버가 추가되었습니다.
WDF_IO_TARGET_STATE WdfIoTargetPurged 값이 추가되었습니다.
WDF_SPECIAL_FILE_TYPE WdfSpecialFileBoot 값이 추가되었습니다.
프레임워크 기반 드라이버를 디버깅하기 위한 레지스트리 값에 DbgWaitForSignalTimeoutInSec이 추가되었습니다.
InstallWdf, MultiComp 및 SingleComp 샘플이 추가되었습니다.
KMDF 1.9(Windows 7)
버전 1.9는 다음 기능을 추가합니다.
I/O 큐의 진행률 보장
자식 디바이스의 I/O 큐에서 부모 디바이스의 I/O 큐로 I/O 요청을 다시 큐에 넣기 위한 지원
개별 큐 개체에 대한 큐 수준 동기화를 지정하는 기능입니다.
다음과 같은 메서드
드라이버가 병렬 I/O 큐에서 드라이버에 제공하는 I/O 요청 수를 제한할 수 있도록 numberOfPresentedRequests 멤버를 WDF_IO_QUEUE_CONFIG 구조에 추가했습니다.
WDF_FILEOBJECT_CLASS 구조체에 WdfFileObjectCanBeOptional 플래그를 추가했습니다.
tolerableDelay 멤버를 WDF_TIMER_CONFIG 구조체에 추가했습니다.
WdfDefaultIdleInWorkingState 및 WdfDefaultWakeFromSleepState 레지스트리 값이 추가되었습니다.
KMDF 1.7(Windows Vista 서비스 팩 1; Windows Server 2008)
WdfDeviceEnqueueRequest 메서드는 IRQL<=DISPATCH_LEVEL 호출할 수 있습니다.
지정된 작업 항목이 작업 항목 큐에 이미 있는 경우 WdfWorkItemEnqueue 메서드를 호출할 수 있습니다.
EvtDeviceArmWakeFromSxWithReason 이벤트 콜백 함수가 추가되었습니다.
armForWakeIfChildrenAreArmedForWake 및 IndicateChildWakeOnParentWake 멤버를 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 구조에 추가했습니다.
KMDF 1.5(Windows Vista)
WDF_DRIVER_CONFIG DriverPoolTag 멤버를 추가했습니다.
KMDF 1.1(Windows 버전에서 릴리스되지 않음)
- 다음 메서드는 다음과 같습니다.
KMDF 1.0(Windows 버전에서 릴리스되지 않음)
초기 릴리스입니다.