Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 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 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 | Kit de Desenvolvimento de Drivers do Windows Vista (WDK) | Windows Vista | Windows 2000 e posterior |
| 1.1 | Apenas para download | Nenhum | Windows 2000 e posterior |
| 1.0 | Apenas para download | Nenhum | Windows XP e posterior |
Você pode usar o Kit de Driver do Windows (WDK) 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 do framework 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 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 do KMDF abaixo, a versão do Windows na qual ele foi lançado está listada entre parênteses.
Última versão - 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 tempo limite de inatividade ainda não tiver expirado, WdfDeviceStopIdle retornará STATUS_SUCCESS (em versões anteriores, isso 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)
- Adicionada nova API WdfDeviceSetDeviceInterfaceStateEx
- API existente melhorada 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 exclusivo do UMDF, mas agora está disponível no KMDF.
- WdfRequestGetRequestorProcessId era anteriormente apenas 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 valores de registro WDF ObjectLeakDetectionLimit e ObjectsForLeakDetection para depurar a criação excessiva de objetos. Para obter mais informações, consulte Valores do Registo 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 no modo de suspensão. Para obter mais informações, consulte Modern standby SleepStudy.
KMDF 1.19 (Windows 10, versão 1607)
- Adicionado WdfDmaTransactionSetSingleTransferRequirement
- Adicionado o indicador WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER em WDF_DMA_ENABLER_CONFIG_FLAGS
- Adicionado o valor de retorno STATUS_WDF_TOO_MANY_TRANSFERS 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 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 WDF está disponível publicamente nas Estruturas de Driver do Windows. Os arquivos de símbolos privados para WDF estão disponíveis através do Microsoft Symbol Server. Consulte também Depuração com código-fonte WDF e Vídeo: Depurando seu driver com código-fonte WDF.
- Gravador de rastreamento de bordo (IFR) agora disponível. Observe que isso é separado do registrador de eventos da estrutura. Para mais informações, consulte Inflight Trace Recorder (IFR) para registo de rastreamentos e Utilização do Inflight Trace Recorder em drivers KMDF e UMDF.
- Suporte para interrupções para dispositivos apoiados por GPIO. Para obter mais informações, consulte Criar um Objeto de Interrupção.
KMDF 1.13 (Windows 8.1)
KMDF versão 1.13 adiciona a seguinte funcionalidade:
- Adicionado o membro CanWakeDevice à estrutura WDF_INTERRUPT_CONFIG para suportar interrupções que podem ser usadas para trazer um dispositivo de volta ao seu estado totalmente ligado D0 a partir de um estado de baixo consumo de energia Dx. Para obter mais informações, consulte Usando uma interrupção para despertar um dispositivo.
- Suporte para temporizadores de alta resolução. Para obter mais informações, consulte Usando temporizadores.
- Suporte para temporizadores que não despertam o sistema se expirarem quando o sistema estiver em um estado de baixa energia. Para obter mais informações, consulte Usando temporizadores.
- Os seguintes métodos KMDF/UMDF descritos em Acesso ao Modelo Unificado de Propriedades de Dispositivo:
Para obter informações sobre versões UMDF, consulte Histórico de versões 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 potência funcionais para vários componentes num ú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 membros IdleTimeoutType e ExcludeD3Cold ao WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS.
Adicionado o membro ReportInactiveOnPowerDown a WDF_INTERRUPT_CONFIG.
Adicionado valor WdfIoTargetPurged para WDF_IO_TARGET_STATE.
Adicionado valor WdfSpecialFileBoot para WDF_SPECIAL_FILE_TYPE.
Adicionado DbgWaitForSignalTimeoutInSec aos valores do Registro para depuração de drivers baseados em estrutura.
Adicionados exemplos de InstallWdf, MultiComp e SingleComp .
KMDF 1.9 (Windows 7)
A versão 1.9 adiciona a seguinte funcionalidade:
Progresso contínuo garantido para filas de E/S
Suporte para enfileiramento 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:
Adicionado o membro NumberOfPresented Requests à 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.
Foi adicionado o sinalizador WdfFileObjectCanBeOptional à estrutura WDF_FILEOBJECT_CLASS.
Adicionado o membro TolerableDelay à estrutura WDF_TIMER_CONFIG .
Adicionados valores de 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 do evento EvtDeviceArmWakeFromSxWithReason.
Adicionados os membros ArmForWakeIfChildrenAreArmedForWake e IndicateChildWakeOnParentWake à estrutura WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS.
KMDF 1.5 (Windows Vista)
Adicionado o membro DriverPoolTag a 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)
Lançamento inicial.