Histórico de versão do UMDF
Este tópico lista versões do UMDF (User-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 UMDF. Você pode usar a barra lateral Neste artigo à direita para navegar rapidamente até uma versão específica.
Versão do UMDF | Versão inicial | Incluído em | Drivers que usam essa versão do UMDF são executados em |
---|---|---|---|
2.33 | Windows 11, versão 21H2 WDK; WDK para Windows Server 2022 | 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 |
2,31 | Windows 10, versão 2004 WDK | Windows 10, versão 2004 (Atualização de maio de 2020, Vibranium) | Windows 10, versão 2004 e posterior |
2.29 | Não lançado no WDK | Windows 10, versão 1903 (Atualização de março de 2019, 19H1) | Windows 10 versão 1903 e posterior |
2.27 | WDK Windows 10, versão 1809 | Windows 10, versão 1809 (Atualização de outubro de 2018, Redstone 5) | Windows 10 versão 1809 e posterior |
2.25 | Windows 10, versão 1803 WDK | Windows 10, versão 1803 (Atualização de abril de 2018, Redstone 4) | Windows 10 versão 1803 e posterior |
2.23 | Windows 10, versão 1709 WDK | Windows 10, versão 1709 (Fall Creators Update, Redstone 3) | Windows 10, versão 1709 e posterior |
2,21 | Windows 10, versão 1703 WDK | Windows 10, versão 1703 (Atualização para Criadores, Redstone 2) | Windows 10 versão 1703 e posterior |
2.19 | Windows 10, versão 1607 WDK | Windows 10, versão 1607 (Atualização de Aniversário, Redstone 1) | Windows 10, versão 1607, Windows Server 2016 e posterior |
2.17 | Windows 10, versão 1511 WDK | Windows 10, versão 1511 (Atualização de novembro, Limite 2) | Windows 10, versão 1511, Windows Server 2016 e posterior |
2.15 | WDK Windows 10 | Windows 10, versão 1507 (Limite 1) | Windows 10, versão 1507, Windows Server 2016 e posterior |
2,0 | Windows Driver Kit (WDK) 8.1 | Windows 8.1 | Windows 8.1 e posterior |
1.11 | Windows Driver Kit (WDK) 8 | 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 XP e posterior |
1.5 | Windows Vista WDK | Windows Vista | Windows XP e posterior |
Você pode usar o WDK (Windows Driver Kit) com o Microsoft Visual Studio 2019 para criar drivers executados em Windows 10 e posteriores.
Para obter ajuda para determinar qual versão do WDF usar, consulte Qual versão da estrutura devo usar?.
Para obter informações sobre os novos recursos para drivers UMDF no Windows 10, consulte Novidades para drivers WDF.
Para cada seção de versão do UMDF abaixo, a versão do Windows na qual ela foi lançada está listada entre parênteses.
Versão mais recente – UMDF 2.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 retornado de STATUS_PENDING).
- A função WdfDeviceWdmAssignPowerFrameworkSettings agora dá suporte a UMDF.
- WDF_POWER_FRAMEWORK_SETTINGS estrutura tem dois novos membros (PoFxDeviceFlags e DirectedPoFxEnabled) e agora pode ser usado com UMDF. Para UMDF, somente os membros Size, PoFxDeviceFlags e DirectedPoFxEnabled são usados. Outros campos são ignorados e devem ser definidos como zero. A estrutura faz isso automaticamente quando um driver UMDF chama a função WDF_POWER_FRAMEWORK_SETTINGS_INIT .
UMDF 2.31 (Windows 10, versão 2004)
- Adicionada nova API WdfDeviceSetDeviceInterfaceStateEx
- API existente aprimorada WdfDeviceGetSystemPowerAction
- Adicionado o valor do registro HostProcessDbgBreakOnDriverLoad por driver. Para obter informações, consulte Valores do Registro para depurar drivers WDF.
- Introdução à estrutura de gerenciamento de energia direcionada
UMDF 2.29 (Windows 10, versão 1903)
Inalterado da versão 2.27.
UMDF 2.27 (Windows 10, versão 1809)
- Adicionada nova API WdfDriverRetrieveDriverDataDirectoryString
UMDF 2.25 (Windows 10, versão 1803)
UMDF 2.23 (Windows 10, versão 1709)
- Funcionalidade complementar adicionada somente para uso interno. Para obter os novos DDIs, consulte Resumo dos métodos e retornos de chamada do WDF.
UMDF 2.21 (Windows 10, versão 1703)
- WdfObjectDereferenceActual: tipo de parâmetro File alterado de PCHAR para PCCH.
- WdfObjectReferenceActual: tipo de parâmetro File alterado de PCHAR para PCCH.
- Os valores de registro do WDF ObjectLeakDetectionLimit e ObjectsForLeakDetection foram adicionados para depurar a criação excessiva de objetos. Para obter mais informações, consulte Valores do Registro para depuração de drivers WDF.
UMDF 2.19 (Windows 10, versão 1607)
Não há alterações ou adições para UMDF versão 2.19.
UMDF 2.17 (Windows 10, versão 1511)
Esta versão adiciona suporte a UMDF para as seguintes interfaces existentes:
- WdfDeviceConfigureWdmIrpDispatchCallback
- EvtDeviceWdmIrpDispatch
- WdfDeviceWdmDispatchIrp
- WdfDeviceWdmDispatchIrpToIoQueue
Para obter mais informações, consulte Expedindo IRPs para filas de E/S.
UMDF 2.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.
- Um driver UMDF pode chamar WdfIoTargetWdmGetTargetFileHandle para obter um identificador de arquivo para o driver de modo kernel inferior na pilha. O driver pode gravar dados nesse identificador, ignorando as abstrações da estrutura para enviar E/S para o destino de E/S local.
- Um driver UMDF pode solicitar que o motorista do barramento subjacente o renumere. Consulte WdfDeviceSetFailed.
- A definição da diretiva UmdfDirectHardwareAccess não é mais sempre necessária para dispositivos que têm recursos de conexão. Consulte Especificando diretivas WDF em arquivos INF.
- O código-fonte do WDF está disponível publicamente nas Estruturas de Driver do Windows. Os arquivos de símbolo privado para WDF estão disponíveis por meio do Servidor de Símbolos da Microsoft. Confira também Depuração com o código-fonte e vídeo do WDF: depurando seu driver com o código-fonte do WDF.
- O INflight Trace Recorder (IFR) já está disponível. Observe que isso é separado do agente de eventos da estrutura. Para obter mais informações, consulte IfR (Gravador de Rastreamento de Bordo) para registrar rastreamentos em log e Usando o Gravador de Rastreamento de Voo em Drivers KMDF e UMDF.
- Suporte para interrupções para dispositivos com suporte de GPIO. Para obter mais informações, consulte Criando um objeto interrupto.
UMDF 2.0 (Windows 8.1)
Além da funcionalidade compartilhada descrita em Introdução com UMDF, o UMDF versão 2.0 adiciona:
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 Usando temporizadores.
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 de volta para seu estado totalmente em D0. Para obter mais informações, consulte Usando uma interrupção para ativar um dispositivo.
Gerenciamento de energia de F0 (um único componente) para drivers UMDF. Para obter mais informações, consulte WdfDeviceAssignS0IdleSettings.
Vários comandos de extensão do depurador no Wdfkd.dll agora também podem ser usados para drivers UMDF 2.0. A biblioteca de extensões também contém os seguintes novos comandos de extensão projetados especificamente para depurar drivers UMDF 2.0:
-
Para obter uma lista de comandos de extensão e aplicabilidade de estrutura, consulte Extensões do depurador.
O agente de eventos da estrutura ou o IFR (Gravador de Voo ) foi atualizado para funcionar para drivers UMDF 2.0.
Outras extensões do depurador do WDF foram atualizadas para funcionar com drivers UMDF 2.0. Para obter uma lista completa de comandos de extensão, incluindo informações sobre quais se aplicam a qual estrutura, consulte Extensões do depurador para drivers WDF.
O WdfIoTargetOpenLocalTargetByFile foi adicionado a WDF_IO_TARGET_OPEN_TYPE para permitir que os drivers UMDF enviem solicitações criadas pelo driver para destinos inferiores que exigem um objeto de arquivo associado. Para obter mais informações, consulte os Comentários de WDF_IO_TARGET_OPEN_TYPE.
As seguintes rotinas somente UMDF:
- EvtRequestImpersonate
- WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE
- WdfDeviceAllocAndQueryInterfaceProperty
- WdfDeviceAssignInterfaceProperty
- WdfDeviceGetDeviceStackIoType
- WdfDeviceGetHardwareRegisterMappedAddress
- WdfDeviceMapIoSpace
- WdfDevicePostEvent
- WdfDeviceQueryInterfaceProperty
- WdfDeviceUnmapIoSpace
- WdfFileObjectGetInitiatorProcessId (adicionado ao KMDF 1.21)
- WdfFileObjectGetRelatedFileObject
- WdfRequestGetEffectiveIoType
- WdfRequestGetRequestorProcessId (adicionado ao KMDF 1.21)
- WdfRequestGetUserModeInitiatedIo
- WdfRequestImpersonate
- WdfRequestIsFromUserModeDriver
- WdfRequestRetrieveActivityId
- WdfRequestSetActivityId
- WdfRequestSetUserModeDriverInitiatedIo
Os seguintes métodos KMDF/UMDF descritos em Acessando o modelo de propriedade de dispositivo unificado:
Suporte para os seguintes tipos de configuração USB em WdfUsbTargetDeviceSelectConfigType:
- WdfUsbTargetDeviceSelectConfigTypeSingleInterface
- WdfUsbTargetDeviceSelectConfigTypeMultiInterface
- WdfUsbTargetDeviceSelectConfigTypeInterfacesPairs
Suporte para consultar os seguintes tipos de funcionalidade no WdfUsbTargetDeviceQueryUsbCapability:
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
Funções de registro/acesso à porta do WDF adicionadas
UMDF 1.11 (Windows 8)
A versão 1.11 adiciona as seguintes interfaces de retorno de chamada fornecidas pelo driver e funções de retorno de chamada de evento:
A versão 1.11 adiciona as seguintes interfaces fornecidas pela estrutura:
A versão 1.11 adiciona os seguintes recursos aos drivers baseados em UMDF:
Adição das diretivas UmdfHostProcessSharing, UmdfDirectHardwareAccess, UmdfRegisterAccessMode, UmdfFileObjectPolicy e UmdfFsContextUsePolicy , descritas em Especificando diretivas WDF em arquivos INF
SID (identificadores de segurança) conhecidos para drivers UMDF
Suporte unificado ao repositório de propriedades, descrito em Usando o registro em drivers baseados em UMDF
IoGetDeviceObjectPointer é integrado para trabalhar com UMDF. Em versões anteriores, essa rotina fecha o identificador do objeto de dispositivo depois de fazer uma referência no identificador do dispositivo. Esse comportamento era incompatível com a expectativa da UMDF de que a solicitação de limpeza no objeto do dispositivo não ocorrerá até que toda a E/S seja concluída.
Suporte aprimorado para suporte a Power-Down ociosas em drivers baseados em UMDF. A estrutura agora pode colocar o dispositivo no estado de energia D3cold quando o período de tempo limite ocioso expirar. A estrutura também pode fazer com que o dispositivo retorne ao estado de trabalho (D0) quando o sistema retorna ao estado de trabalho (S0).
Os exemplos a seguir são novos no UMDF 1.11: WudfVhidmini, NetNfpProvider.
UMDF 1.9 (Windows 7)
A versão 1.9 adiciona as seguintes interfaces de retorno de chamada fornecidas pelo driver:
A versão 1.9 adiciona as seguintes interfaces fornecidas pela estrutura:
Essas interfaces adicionam os seguintes recursos aos drivers baseados em UMDF:
O método de acesso direto ao buffer de E/S
Leitores contínuos para dispositivos USB
Suporte aprimorado para interfaces de dispositivo
Capacidade aprimorada de cancelar solicitações de E/S
Acesso aprimorado ao registro
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de