Histórico de versões do KMDF
Este tópico lista as versões do KMDF (Kernel-Mode Driver Framework), as versões correspondentes do sistema operacional Windows e as alterações feitas em cada versão.
A tabela a seguir mostra o histórico de lançamento da biblioteca KMDF. Você pode usar a barra lateral Neste artigo à direita para navegar rapidamente para uma versão específica.
Versão do KMDF | Versão inicial | Incluído em | Os drivers que usam esta versão KMDF são executados em |
---|---|---|---|
1.33 | Windows 11, versão 21H2 WDK; WDK para Windows Server 2022 | Windows 11, versão 24H2; Windows 11, versão 23H2; Windows 11, versão 22H2; Windows 11, versão 21H2; Windows Server 2022 | Windows 11, versão 21H2 e posterior; Windows Server 2022 e posterior |
1.31 | Windows 10, versão 2004 WDK | Windows 10, versão 2004 | Windows 10, versão 2004 e posterior |
1.29 | Não lançado no WDK | Windows 10, versão 1903 | Windows 10, versão 1903 e posterior |
1.27 | Windows 10, versão 1809 WDK | Windows 10, versão 1809 | Windows 10 versão 1809 e posterior |
1,25 | Windows 10, versão 1803 WDK | Windows 10, versão 1803 | Windows 10, versão 1803 ou posterior. |
1.23 | Windows 10, versão 1709 WDK | Windows 10, versão 1709 | Windows 10, versão 1709 e posterior |
1.21 | Windows 10, versão 1703 WDK | Windows 10, versão 1703 | Windows 10, versão 1703 e posterior |
1,19 | Windows 10, versão 1607 WDK | Windows 10, versão 1607 | Windows 10 versão 1607, Windows Server 2016 e posterior |
1.17 | Windows 10, versão 1511 WDK | Windows 10, versão 1511 | Windows 10 versão 1511, Windows Server 2016 e posterior |
1.15 | Windows 10 WDK | Windows 10, versão 1507 | Windows 10, versão 1507, Windows Server 2016 e posterior |
1.13 | Windows 8.1 WDK | Windows 8.1 | Windows 8.1 e posterior |
1.11 | Windows 8 WDK | Windows 8 | Windows Vista e superior |
1.9 | Windows 7 WDK | Windows 7 | Windows XP e posterior |
1.7 | Windows Server 2008 WDK | Windows Vista com Service Pack 1 (SP1); Windows Server 2008 | Windows 2000 e posterior |
1.5 | Windows Vista WDK | Windows Vista | Windows 2000 e posterior |
1,1 | Somente download | Nenhum | Windows 2000 e posterior |
1.0 | Somente download | Nenhum | Windows XP e posterior |
Você pode usar o WDK (Kit de Driver do Windows) com o Microsoft Visual Studio 2022 para criar drivers executados no Windows 10 e posterior.
Para obter ajuda para determinar qual versão do WDF usar, consulte Qual versão da estrutura devo usar?.
Para obter uma lista completa de retornos de chamada e métodos, e a quais estruturas e versões eles se aplicam, consulte Resumo de retornos de chamada e métodos do WDF.
Para obter informações sobre os novos recursos para drivers KMDF no Windows 10, consulte Novidades para drivers WDF.
Para cada seção de versão KMDF abaixo, a versão do Windows na qual ele foi lançado está listada entre parênteses.
Versão mais recente - KMDF 1.33 (Windows 11, versão 21H2; Windows Server 2022)
- Para dispositivos que especificam SystemManagedIdleTimeout ou SystemManagedIdleTimeoutWithHint na enumeração WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE, ao chamar a macro WdfDeviceStopIdle com WaitForD0 definido como FALSE, se o dispositivo ainda estiver em D0 e o período de tempo limite ocioso ainda não tiver decorrido, WdfDeviceStopIdle retornará STATUS_SUCCESS (em versões anteriores, isso resultou em um valor de retorno de STATUS_PENDING).
- WDF_POWER_FRAMEWORK_SETTINGS estrutura tem dois novos membros (PoFxDeviceFlags e DirectedPoFxEnabled).
KMDF 1.31 (Windows 10, versão 2004)
- Adicionada nova API WdfDeviceSetDeviceInterfaceStateEx
- API existente aprimorada WdfDeviceGetSystemPowerAction
- Adicionada nova API WdfPdoInitRemovePowerDependencyOnParent
- Introdução à estrutura de gerenciamento de energia direcionada
KMDF 1.29 (Windows 10, versão 1903)
Inalterado a partir da versão 1.25.
KMDF 1.27 (Windows 10, versão 1809)
Inalterado a partir da versão 1.25.
KMDF 1.25 (Windows 10, versão 1803)
KMDF 1.23 (Windows 10, versão 1709)
- Funcionalidade complementar adicionada apenas para uso interno. Para obter mais informações, consulte Wdfcompanion.h.
KMDF 1.21 (Windows 10, versão 1703)
- WdfFileObjectGetInitiatorProcessId era anteriormente somente UMDF, agora disponível no KMDF.
- WdfRequestGetRequestorProcessId era anteriormente somente UMDF, agora disponível no KMDF.
- WdfObjectDereferenceActual: Tipo de parâmetro File alterado de PCHAR para PCCH.
- WdfObjectReferenceActual: Tipo de parâmetro File alterado de PCHAR para PCCH.
- Adicionados os valores de registro WDF ObjectLeakDetectionLimit e ObjectsForLeakDetection para depuração da criação excessiva de objetos. Para obter mais informações, consulte Valores do Registro para depuração de drivers WDF.
- A ferramenta de software SleepStudy relata o número de referências de energia que um driver KMDF tem que estão impedindo o sistema de entrar em suspensão. Para obter mais informações, consulte Modern standby SleepStudy.
KMDF 1.19 (Windows 10, versão 1607)
- Adicionado WdfDmaTransactionSetSingleTransferRequirement
- Adicionado sinalizador WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER no WDF_DMA_ENABLER_CONFIG_FLAGS
- Valor de retorno STATUS_WDF_TOO_MANY_TRANSFERS adicionado para WdfDmaTransactionInitialize e WdfDmaTransactionDmaCompleted
- Adicionadas mensagens de saída para saída de transferência única para !wdfkd.wdfdmatransaction e !wdfkd.wdfdmaenabler
- Para obter mais informações sobre DMA de transferência única, consulte Usando DMA de transferência única.
KMDF 1.15 (Windows 10, versão 1507)
- O novo método WdfDeviceOpenDevicemapKey permite que um driver acesse subchaves e valores em HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP.
- O código-fonte do WDF está disponível publicamente no Windows Driver Frameworks. Os arquivos de símbolo privado para WDF estão disponíveis por meio do Microsoft Symbol Server. Consulte também Depurando com WDF Source e Vídeo: Depurando seu driver com o código-fonte WDF.
- Inflight Trace Recorder (IFR) agora disponível. Observe que isso é separado do log de eventos da estrutura. Para obter mais informações, consulte Gravador de rastreamento a bordo (IFR) para registrar rastreamentos e Usando o gravador de rastreamento a bordo em drivers KMDF e UMDF.
- Suporte para interrupções para dispositivos apoiados por GPIO. Para obter mais informações, consulte Criando um objeto de interrupção.
KMDF 1.13 (Windows 8.1)
KMDF versão 1.13 adiciona a seguinte funcionalidade:
- Membro CanWakeDevice adicionado à estrutura WDF_INTERRUPT_CONFIG para suportar interrupções que podem ser usadas para trazer um dispositivo de um estado Dx de baixo consumo de energia de volta ao seu estado totalmente em D0. Para obter mais informações, consulte Usando uma interrupção para ativar um dispositivo.
- Suporte para temporizadores de alta resolução. Para obter mais informações, consulte Usando temporizadores.
- Suporte para temporizadores que não ativam o sistema se expirarem quando o sistema estiver em um estado de baixo consumo de energia. Para obter mais informações, consulte Usando temporizadores.
- Os seguintes métodos KMDF/UMDF descritos em Acessando o modelo de propriedade de dispositivo unificado:
Para obter informações sobre versões do UMDF, consulte Histórico de versões do UMDF.
KMDF 1.11 (Windows 8)
A versão 1.11 adiciona a seguinte funcionalidade:
Suporte para interrupções de nível passivo
Estados de energia funcionais para vários componentes em um único dispositivo
Os seguintes métodos:
- 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
Adicionado EvtDeviceUsageNotificationEx.
Adicionados os membros IdleTimeoutType e ExcludeD3Cold ao WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Membro ReportInactiveOnPowerDown adicionado ao WDF_INTERRUPT_CONFIG.
Adicionado valor WdfIoTargetPurged ao WDF_IO_TARGET_STATE.
Adicionado valor WdfSpecialFileBoot ao WDF_SPECIAL_FILE_TYPE.
Adicionado DbgWaitForSignalTimeoutInSec aos valores do Registro para depuração de drivers baseados em framework.
Adicionados exemplos de InstallWdf, MultiComp e SingleComp .
KMDF 1.9 (Windows 7)
A versão 1.9 adiciona a seguinte funcionalidade:
Progresso antecipado garantido para filas de E/S
Suporte para enfileirar solicitações de E/S da fila de E/S de um dispositivo filho para a fila de E/S de um dispositivo pai
Capacidade de especificar a sincronização em nível de fila para objetos de fila individuais.
Os seguintes métodos:
Adicionado o membro NumberOfPresentedRequests à estrutura WDF_IO_QUEUE_CONFIG para que os drivers possam limitar o número de solicitações de E/S que a estrutura entrega ao driver a partir de uma fila de E/S paralela.
Adicionado o sinalizador WdfFileObjectCanBeOptional à estrutura WDF_FILEOBJECT_CLASS.
Adicionado o membro TolerableDelay à estrutura WDF_TIMER_CONFIG.
Adicionados os valores do Registro WdfDefaultIdleInWorkingState e WdfDefaultWakeFromSleepState .
KMDF 1.7 (Windows Vista com Service Pack 1; Windows Server 2008)
O método WdfDeviceEnqueueRequest pode ser chamado em IRQL<=DISPATCH_LEVEL.
O método WdfWorkItemEnqueue pode ser chamado se o item de trabalho especificado já estiver na fila de itens de trabalho.
Adicionada a função de retorno de chamada de evento EvtDeviceArmWakeFromSxWithReason.
Adicionados os membros ArmForWakeIfChildrenAreArmedForWake e IndicateChildWakeOnParentWake à estrutura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
Adicionado o membro DriverPoolTag ao WDF_DRIVER_CONFIG.
KMDF 1.1 (não lançado em uma versão do Windows)
- Os seguintes métodos:
KMDF 1.0 (não lançado em uma versão do Windows)
Versão inicial.