Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico lista 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 a 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 e 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 posterior |
| 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 | Baixar somente | Nenhum | Windows 2000 e posterior |
| 1,0 | Baixar somente | Nenhum | Windows XP e posterior |
Você pode usar o WDK (Windows Driver Kit) com o Microsoft Visual Studio 2022 para criar drivers que são 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 elas 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 o que há de novo para drivers WDF.
Para cada seção de versão KMDF abaixo, a versão do Windows na qual foi lançada 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 inatividade ainda não tiver decorrido, WdfDeviceStopIdle retornará STATUS_SUCCESS (o que, em versões anteriores, resultava 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)
- Adição da nova API WdfDeviceSetDeviceInterfaceStateEx
- API existente aprimorada WdfDeviceGetSystemPowerAction
- Adição da nova API WdfPdoInitRemovePowerDependencyOnParent
- introdução à estrutura de gerenciamento de energia direcionada
KMDF 1.29 (Windows 10, versão 1903)
Inalterado da versão 1.25.
KMDF 1.27 (Windows 10, versão 1809)
Inalterado da versão 1.25.
KMDF 1.25 (Windows 10, versão 1803)
KMDF 1.23 (Windows 10, versão 1709)
- Funcionalidade complementar adicionada somente para uso interno. Para obter mais informações, consulte Wdfcompanion.h.
KMDF 1.21 (Windows 10, versão 1703)
- WdfFileObjectGetInitiatorProcessId anteriormente era somente UMDF, agora disponível no KMDF.
- WdfRequestGetRequestorProcessId era exclusivo do UMDF, mas agora está disponível no KMDF.
- WdfObjectDereferenceActual: tipo de parâmetro File alterado de PCHAR para PCCH.
- WdfObjectReferenceActual: tipo de parâmetro de arquivo alterado de PCHAR para PCCH.
- Os valores de registro do WDF adicionados ObjectLeakDetectionLimit e ObjectsForLeakDetection para depuração da criação excessiva de objetos. Para obter mais informações, consulte Valores de Registros 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 que o sistema durma. Para obter mais informações, consulte SleepStudy em espera moderno.
KMDF 1.19 (Windows 10, versão 1607)
- Adicionado WdfDmaTransactionSetSingleTransferRequirement
- Adicionado WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER sinalizador no WDF_DMA_ENABLER_CONFIG_FLAGS
- Adicionado STATUS_WDF_TOO_MANY_TRANSFERS como valor de retorno para WdfDmaTransactionInitialize e WdfDmaTransactionDmaCompleted
- Adicionadas mensagens de saída para transferência única para !wdfkd.wdfdmatransaction e !wdfkd.wdfdmaenabler
- Para obter mais informações sobre o DMA de transferência única, consulte Usando o 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 Servidor de Símbolos da Microsoft. Confira também a depuração com o código-fonte do WDF e o vídeo: depurando seu driver com o código-fonte do WDF.
- O IFR (Gravador de Rastreamento de Bordo) agora está disponível. Observe que isso é separado do registrador de eventos do framework. Para obter mais informações, consulte Inflight Trace Recorder (IFR) para registrar rastreamentos em log e Usando o Inflight Trace Recorder em drivers KMDF e UMDF.
- Suporte para interrupções para dispositivos baseados em GPIO. Para obter mais informações, consulte Criando um objeto interruptor.
KMDF 1.13 (Windows 8.1)
O KMDF versão 1.13 adiciona a seguinte funcionalidade:
- Adicionado o membro CanWakeDevice à estrutura WDF_INTERRUPT_CONFIG para dar suporte a interrupções que podem ser usadas para trazer um dispositivo de um estado Dx de baixa potência para retornar ao estado D0 totalmente ativo. 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 Como usar temporizadores.
- Suporte para temporizadores que não ativam o sistema se expirarem quando o sistema estiver em um estado de baixa potência. Para obter mais informações, consulte Como usar temporizadores.
- Os seguintes métodos KMDF/UMDF descritos em Accessing the Unified Device Property Model:
Para obter informações sobre versões do UMDF, consulte o 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
EvtDeviceUsageNotificationEx foi adicionado.
Membros IdleTimeoutType e ExcludeD3Cold adicionados ao WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Adicionado o membro ReportInactiveOnPowerDown ao WDF_INTERRUPT_CONFIG.
O valor de WdfIoTargetPurged foi adicionado a WDF_IO_TARGET_STATE.
O valor de WdfSpecialFileBoot foi adicionado a WDF_SPECIAL_FILE_TYPE.
Adicionado DbgWaitForSignalTimeoutInSec aos Valores do Registro para Drivers Baseados no Framework de Depuração.
Foram adicionados exemplos de InstallWdf, MultiComp e SingleComp .
KMDF 1.9 (Windows 7)
A versão 1.9 adiciona a seguinte funcionalidade:
Progresso garantido de processamento para filas de E/S
Suporte para reencaminhamento de 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 no nível da fila para objetos de fila individuais.
Os seguintes métodos:
- WdfDeviceGetSystemPowerAction
- WdfDeviceRemoveDependentUsageDeviceObject
- WdfInterruptSetExtendedPolicy
- WdfPdoInitAllowForwardingRequestToParent
- WdfPdoInitAssignContainerID
- WdfPreDeviceInstallEx
- WdfRequestForwardToParentDeviceIoQueue
- WdfRequestMarkCancelableEx
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 fornece ao driver de uma fila de E/S paralela.
O sinalizador WdfFileObjectCanBeOptional foi adicionado à estrutura WDF_FILEOBJECT_CLASS .
Adicionado o membro TolerableDelay à estrutura WDF_TIMER_CONFIG .
Os valores do registro WdfDefaultIdleInWorkingState e WdfDefaultWakeFromSleepState foram adicionados.
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 poderá ser chamado se o item de trabalho especificado já estiver na fila do item de trabalho.
A função de retorno de chamada de evento EvtDeviceArmWakeFromSxWithReason foi adicionada.
Os membros ArmForWakeIfChildrenAreArmedForWake e IndicateChildWakeOnParentWake foram adicionados à 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.