UMDF 버전 기록
이 항목에서는 UMDF(사용자 모드 드라이버 프레임워크), 해당 버전의 Windows 운영 체제 및 각 릴리스의 변경 내용을 나열합니다.
다음 표에서는 UMDF 라이브러리의 릴리스 기록을 보여 줍니다. 오른쪽의 이 문서 사이드바에서 특정 버전으로 빠르게 이동할 수 있습니다.
UMDF 버전 | 초기 릴리스 | 포함된 운영 체제 | 이 UMDF 버전을 사용하는 드라이버는 다음에서 실행됩니다. |
---|---|---|---|
2.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 이상 |
2.31 | Windows 10 버전 2004 WDK | Windows 10 버전 2004(2020년 5월 업데이트, Vibranium) | Windows 10 버전 2004 이상 |
2.29 | WDK에서 릴리스되지 않음 | Windows 10 버전 1903(2019년 3월 업데이트, 19H1) | Windows 10 버전 1903 이상 |
2.27 | Windows 10 버전 1809 WDK | Windows 10 버전 1809(2018년 10월 업데이트, Redstone 5) | Windows 10 버전 1809 이상 |
2.25 | Windows 10 버전 1803 WDK | Windows 10 버전 1803(2018년 4월 업데이트, Redstone 4) | Windows 10, 버전 1803 이상 |
2.23 | Windows 10 버전 1709 WDK | Windows 10 버전 1709(Fall Creators Update, Redstone 3) | Windows 10 버전 1709 이상 |
2.21 | Windows 10 버전 1703 WDK | Windows 10 버전 1703(크리에이터스 업데이트, Redstone 2) | Windows 10 버전 1703 이상 |
2.19 | Windows 10 버전 1607 WDK | Windows 10 버전 1607(1주년 업데이트, Redstone 1) | Windows 10 버전 1607, Windows Server 2016 이상 |
2.17 | Windows 10 버전 1511 WDK | Windows 10 버전 1511(11월 업데이트, 임계값 2) | Windows 10 버전 1511, Windows Server 2016 이상 |
2.15 | Windows 10 WDK | Windows 10 버전 1507(임계값 1) | Windows 10 버전 1507, Windows Server 2016 이상 |
2.0 | WDK(Windows 드라이버 키트) 8.1 | Windows 8.1 | Windows 8.1 이상 |
1.11 | WDK(Windows 드라이버 키트) 8 | 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 XP 이상 |
1.5 | Windows Vista WDK | Windows Vista | Windows XP 이상 |
Microsoft Visual Studio 2022에서 WDK(Windows 드라이버 키트)를 사용하여 Windows 10 이상에서 실행되는 드라이버를 빌드할 수 있습니다.
사용할 WDF 버전을 결정하는 데 도움이 필요한 경우 어떤 프레임워크 버전을 사용해야 하나요?를 참조하세요.
Windows 10의 UMDF 드라이버에 대한 새로운 기능에 대한 자세한 내용은 WDF 드라이버의 새로운 기능을 참조 하세요.
아래의 각 UMDF 버전 섹션에 대해 릴리스된 Windows 버전이 괄호로 나열됩니다.
최신 버전 - UMDF 2.33(Windows 11, 버전 21H2; Windows Server 2022)
- WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE 열거형에서 SystemManagedIdleTimeout 또는 SystemManagedIdleTimeoutWithHint을 지정하는 디바이스의 경우 WaitForD0이 FALSE로 설정된 WdfDeviceStopIdle 매크로를 호출할 때 디바이스가 D0에 있고 유휴 시간 제한이 아직 경과하지 않은 경우 WdfDeviceStopIdle은 STATUS_SUCCESS 반환합니다(이전 버전에서는 반환 값이 STATUS_PENDING).
- 이제 WdfDeviceWdmAssignPowerFrameworkSettings 함수가 UMDF를 지원합니다.
- WDF_POWER_FRAMEWORK_SETTINGS 구조체에는 두 개의 새 멤버(PoFxDeviceFlags 및 DirectedPoFxEnabled)가 있으며 이제 UMDF와 함께 사용할 수 있습니다. UMDF의 경우 Size, PoFxDeviceFlags 및 DirectedPoFxEnabled 멤버만 사용됩니다. 다른 필드는 무시되며 0으로 설정해야 합니다. 프레임워크는 UMDF 드라이버가 WDF_POWER_FRAMEWORK_SETTINGS_INIT 함수를 호출할 때 이 작업을 자동으로 수행합니다.
UMDF 2.31(Windows 10 버전 2004)
- 새 API WdfDeviceSetDeviceInterfaceStateEx 추가됨
- 기존 API WdfDeviceGetSystemPowerAction 개선
- 드라이버 별 HostProcessDbgBreakOnDriverLoad 레지스트리 값이 추가되었습니다. 자세한 내용은 WDF 드라이버 디버깅에 대한 레지스트리 값을 참조 하세요.
- 지시된 전원 관리 프레임워크 소개
UMDF 2.29(Windows 10 버전 1903)
버전 2.27에서 변경되지 않았습니다.
UMDF 2.27(Windows 10 버전 1809)
UMDF 2.25(Windows 10 버전 1803)
- WdfDeviceRetrieveDeviceDirectoryString
- 여러 버전의 Windows용 WDF 드라이버 빌드
UMDF 2.23(Windows 10 버전 1709)
- 내부용으로만 추가된 도우미 기능입니다. 새 DDI는 WDF 콜백 및 메서드 요약을 참조 하세요.
UMDF 2.21(Windows 10 버전 1703)
- WdfObjectDereferenceActual: PCHAR에서 PCCH로 변경된 파일 매개 변수의 형식입니다.
- WdfObjectReferenceActual: PCHAR에서 PCCH로 변경된 파일 매개 변수의 형식입니다.
- 과도한 개체 생성을 디버깅하기 위한 WDF 레지스트리 값 ObjectLeakDetectionLimit 및 ObjectsForLeakDetection 이 추가되었습니다. 자세한 내용은 WDF 드라이버 디버깅에 대한 레지스트리 값을 참조 하세요.
UMDF 2.19(Windows 10 버전 1607)
UMDF 버전 2.19에는 변경 내용이나 추가 사항이 없습니다.
UMDF 2.17(Windows 10 버전 1511)
이 버전은 다음과 같은 기존 인터페이스에 대한 UMDF 지원을 추가합니다.
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
자세한 내용은 I/O 큐에 IRP 디스패치를 참조 하세요.
UMDF 2.15(Windows 10 버전 1507)
- 새 WdfDeviceOpenDevicemapKey 메서드를 사용하면 드라이버가 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP 아래의 하위 키 및 값에 액세스할 수 있습니다.
- UMDF 드라이버는 WdfIoTargetWdmGetTargetFileHandle을 호출하여 스택에서 다음으로 낮은 커널 모드 드라이버에 대한 파일 핸들을 가져올 수 있습니다. 드라이버는 로컬 I/O 대상에 I/O를 보내기 위한 프레임워크의 추상화에서 우회하여 해당 핸들에 데이터를 쓸 수 있습니다.
- UMDF 드라이버는 기본 버스 드라이버가 다시 열거되도록 요청할 수 있습니다. WdfDeviceSetFailed를 참조하세요.
- 연결 리소스가 있는 디바이스에는 더 이상 UmdfDirectHardwareAccess 지시문을 설정할 필요가 없습니다. INF 파일에서 WDF 지시문 지정을 참조하세요.
- WDF 소스 코드는 Windows 드라이버 프레임워크에서 공개적으로 사용할 수 있습니다. WDF에 대한 프라이빗 기호 파일은 Microsoft 기호 서버를 통해 사용할 수 있습니다. WDF 소스 및 비디오로 디버깅: WDF 소스 코드를 사용하여 드라이버 디버깅도 참조하세요.
- 이제 IFR(Inflight Trace Recorder)을 사용할 수 있습니다. 프레임워크의 이벤트 로거와는 별개입니다. 자세한 내용은 KMDF 및 UMDF 드라이버에서 추적 로깅 및 기내 추적 레코더 사용에 대한 IFR(Inflight Trace Recorder)을 참조하세요.
- GPIO 지원 디바이스에 대한 인터럽트 지원. 자세한 내용은 인터럽트 개체 만들기를 참조 하세요.
UMDF 2.0(Windows 8.1)
UMDF 시작에 설명된 공유 기능 외에도 UMDF 버전 2.0은 다음을 추가합니다.
시스템이 저전력 상태일 때 만료되는 경우 시스템을 해제하지 않는 타이머를 지원합니다. 자세한 내용은 타이머 사용을 참조 하세요.
저전력 Dx 상태에서 완전히 켜진 D0 상태로 디바이스를 가져오는 데 사용할 수 있는 인터럽트를 지원하기 위해 WDF_INTERRUPT_CONFIG 구조에 CanWakeDevice 멤버가 추가되었습니다. 자세한 내용은 인터럽트를 사용하여 디바이스 절전 모드 해제를 참조 하세요.
UMDF 드라이버에 대한 단일 구성 요소 F0(단일 상태) 전원 관리 자세한 내용은 WdfDeviceAssignS0IdleSettings를 참조 하세요.
이제 Wdfkd.dll 여러 디버거 확장 명령을 UMDF 2.0 드라이버에도 사용할 수 있습니다. 확장 라이브러리에는 UMDF 2.0 드라이버 디버깅을 위해 특별히 설계된 다음과 같은 새 확장 명령도 포함되어 있습니다.
-
확장 명령 및 프레임워크 적용 가능성 목록은 디버거 확장을 참조 하세요.
프레임워크의 이벤트 로거 또는 IFR(진행 중인 레코더)이 UMDF 2.0 드라이버에 대해 작동하도록 업데이트되었습니다.
다른 WDF 디버거 확장은 UMDF 2.0 드라이버에서 작동하도록 업데이트되었습니다. 어떤 프레임워크에 적용되는지 에 대한 정보를 포함하여 확장 명령의 전체 목록은 WDF 드라이버용 디버거 확장을 참조 하세요.
UMDF 드라이버가 연결된 파일 개체가 필요한 하위 대상에 드라이버 생성 요청을 보낼 수 있도록 WDF_IO_TARGET_OPEN_TYPE WdfIoTargetOpenLocalTargetByFile이 추가되었습니다. 자세한 내용은 WDF_IO_TARGET_OPEN_TYPE 비고를 참조하세요.
다음 UMDF 전용 루틴:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (KMDF 1.21에 추가됨)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (KMDF 1.21에 추가됨)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
통합 디바이스 속성 모델 액세스에 설명된 KMDF/UMDF 메서드는 다음과 같습니다.
WdfUsbTargetDeviceSelectConfigType에서 다음 USB 구성 유형을 지원합니다.
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
WdfUsbTargetDeviceQueryUsbCapability에서 다음 기능 유형을 쿼리하도록 지원합니다.
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
WDF 레지스터/포트 액세스 함수 추가 됨
UMDF 1.11(Windows 8)
버전 1.11은 드라이버 제공 콜백 인터페이스 및 이벤트 콜백 함수를 추가합니다.
버전 1.11은 다음과 같은 프레임워크 제공 인터페이스를 추가합니다.
버전 1.11은 UMDF 기반 드라이버에 다음 기능을 추가합니다.
INF 파일에서 WDF 지시문 지정에 설명된 UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy 및 UmdfFsContextUsePolicy 지시문이 추가되었습니다.
UMDF 기반 드라이버에서 레지스트리 사용에 설명된 통합 속성 저장소 지원
IoGetDeviceObjectPointer 는 UMDF와 함께 작동하도록 통합됩니다. 이전 버전에서 이 루틴은 디바이스 핸들에서 참조를 수행한 후 디바이스 개체에 대한 핸들을 닫습니다. 이 동작은 모든 I/O가 완료될 때까지 디바이스 개체에 대한 정리 요청이 발생하지 않을 것이라는 UMDF의 예상과 호환되지 않습니다.
UMDF 기반 드라이버에서 유휴 전원 다운 지원을 지원합니다. 이제 유휴 시간 제한 기간이 만료되면 프레임워크에서 디바이스를 D3cold 전원 상태로 전환할 수 있습니다. 프레임워크는 시스템이 작동 중(S0) 상태로 돌아갈 때 디바이스가 작동 중(D0) 상태로 돌아가도록 할 수도 있습니다.
UMDF 1.11의 새로운 샘플은 WudfVhidmini, NetNfpProvider입니다.
UMDF 1.9(Windows 7)
버전 1.9는 다음 드라이버 제공 콜백 인터페이스를 추가합니다.
버전 1.9는 다음과 같은 프레임워크 제공 인터페이스를 추가합니다.
이러한 인터페이스는 UMDF 기반 드라이버에 다음 기능을 추가합니다.
직접 I/O 버퍼 액세스 방법
디바이스 인터페이스에 대한 향상된 지원
I/O 요청을 취소하는 향상된 기능
레지스트리에 대한 향상된 액세스