Compartilhar via


Componentes da Estrutura Redistribuível

Observação

Se o driver tiver como destino apenas o Windows 10 ou posterior, você não precisará redistribuir o WDF ou fornecer um Coinstaller em seu pacote de driver. Use estas etapas:

  1. No Visual Studio, na página de propriedades Configurações do Projeto , em Configurações de Driver ->Versão do sistema operacional de destino, selecione Windows 10 ou superior. Isso equivale a adicionar o seguinte ao arquivo .vcxproj:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
  1. Na Seção Fabricante do INF, especifique 10.0 como versão do sistema operacional de destino, da seguinte maneira:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0

Este tópico descreve as atualizações da estrutura redistribuível fornecidas pela Microsoft que são incluídas como parte do WDK (Windows Driver Kit) e como determinar quais serão adicionadas ao pacote de driver.

As atualizações da estrutura redistribuível possibilitam a execução de um driver criado com uma versão da estrutura posterior à incluída em um sistema operacional. Por exemplo, KMDF 1.11 está incluído no Windows 8. Mas você pode executar um driver KMDF 1.11 no Windows Vista ou windows 7. No entanto, antes de fazer isso, você deve garantir que a biblioteca de estruturas KMDF 1.11 substitua a biblioteca de estruturas incluída no sistema operacional anterior (nesse caso, KMDF 1.7 e KMDF 1.9, respectivamente). Faça isso redistribuindo um arquivo .msu ou co-instalador fornecido pela Microsoft com seu pacote de driver.

Quando preciso incluir um co-instalador ou .msu no meu pacote de driver?

Primeiro, decida quais versões do Windows o driver dará suporte. Com base nisso, determine qual versão da estrutura usar.

Se a versão do WDF escolhida for mais recente do que a versão enviada com o sistema operacional de destino, inclua o arquivo .msu ou o co-instalador no pacote de driver.

Por exemplo, você deseja que seu driver seja executado no Windows 7. Você pode optar por criar seu driver usando o WDF 1.11 ou o WDF 1.9. Se você escolher 1.9, que é fornecido com o Windows 7, não será necessário atualizar o sistema. Por outro lado, se você escolher 1.11, precisará incluir um pacote de atualização do WDF 1.11 com o driver.

Devo incluir o co-instalador ou o arquivo .msu?

Se a instalação do driver for disparada conectando um novo dispositivo de hardware a um sistema e você estiver instalando apenas o driver, inclua o co-instalador em seu pacote de driver. Em seguida, faça referência ao co-instalador em seu arquivo INF, conforme descrito na especificação do co-instalador KMDF em um arquivo INF.

Se você precisar instalar um aplicativo além do driver, deverá redistribuir o pacote msu relevante (por exemplo, kmdf-1.11-Win.6.0.msu) juntamente com um aplicativo de instalação que o chama. Nesse caso, nenhuma entrada INF é necessária.

Você nunca precisa do co-instalador e do arquivo .msu.

Onde posso encontrar esses arquivos e o que está incluído?

Esses arquivos não estão mais incluídos no WDK. Em vez disso, eles estão disponíveis como um download separado do Centro de Download da Microsoft. A página de download é componentes redistribuíveis do Windows Driver Kit 8.

Após a instalação, a MSU e os co-instaladores podem ser encontrados em %program files%\Windows Kits\8.0\redist\wdf.

Este diretório contém os seguintes arquivos, para x86 e x64:

  • WdfCoinstaller01007.dll, WdfCoinstaller01009.dll, WdfCoinstaller01011.dll (co-instaladores para KMDF 1.7/1.9/1.11).
  • WUDFUpdate_01007.dll, WUDFUpdate_01009.dll, WUDFUpdate_01011.dll (co-instaladores para UMDF).
  • winusbcoinstaller.dll, winusbcoinstaller2.dll (co-instaladores para WinUSB 1.5/1.9).

Nomenclatura e versão do co-instalador

O co-instalador se chama WdfCoInstallerMMmmm.dll.

  • MM é o número de versão principal.
  • mmm é o número de versão menor.

Por exemplo, o nome do arquivo para a versão 1.0 do co-instalador é WdfCoInstaller01000.dlle o nome do arquivo da versão 1.11 é WdfCoInstaller01011.dll.

A versão do co-instalador que você inclui com seu pacote de driver deve corresponder à versão da biblioteca de estruturas que você usa para desenvolver o driver.

Observe que o nome do arquivo da biblioteca de estrutura inclui apenas o número de versão principal. Para obter mais informações sobre nomes de arquivos de biblioteca, consulte Versionamento da Biblioteca do Framework.