Componentes da estrutura redistribuível
Observação
Se o driver tiver como alvo apenas o Windows 10 ou posterior, não será necessário redistribuir o WDF ou fornecer um Coinstaller no pacote de driver. Use estas etapas:
- No Visual Studio, na página de propriedades Configurações do Projeto, em Configurações de Driver ->Versão do SO de Destino, selecione Windows 10 ou superior. Isso equivale a adicionar o seguinte ao arquivo .vcxproj:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
- Na Secção do Fabricante do INF, especifique 10.0 como a versão do sistema operativo de destino, da seguinte maneira:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0
Este tópico descreve as atualizações de estrutura redistribuível fornecidas pela Microsoft incluídas como parte do Kit de Driver do Windows (WDK) e como determinar quais devem ser adicionadas ao seu pacote de driver.
As atualizações de estrutura redistribuível tornam possível executar um driver construído com uma versão de estrutura mais recente do que a incluída em um sistema operacional. Por exemplo, o KMDF 1.11 está incluído no Windows 8. Mas você pode executar um driver KMDF 1.11 no Windows Vista ou Windows 7. Antes de fazer isso, no entanto, você deve garantir que a biblioteca de estrutura KMDF 1.11 substitua a biblioteca de estrutura incluída no sistema operacional anterior (neste caso, KMDF 1.7 e KMDF 1.9, respectivamente). Para fazer isso, redistribua um coinstalador fornecido pela Microsoft ou um arquivo .msu com seu pacote de driver.
Quando preciso incluir um coinstalador ou .msu no meu pacote de driver?
Primeiro, decida quais versões do Windows seu driver suportará. Com base nisso, determine qual versão do framework usar.
Se a versão WDF escolhida for mais recente do que a versão fornecida com o SO de destino, inclua o coinstalador ou o arquivo .msu no pacote de driver.
Por exemplo, você deseja que seu driver seja executado no Windows 7. Você pode optar por criar seu driver usando WDF 1.11 ou WDF 1.9. Se você escolher 1.9, que é fornecido com o Windows 7, não há necessidade de atualizar o sistema. Por outro lado, se você escolher 1.11, você precisaria incluir um pacote de atualização WDF 1.11 com seu driver.
Devo incluir o coinstalador ou o arquivo .msu?
Se a instalação do driver for acionada conectando um novo dispositivo de hardware a um sistema e você estiver instalando apenas o driver, inclua o coinstalador no pacote de driver. Em seguida, faça referência ao coinstalador em seu arquivo INF, conforme descrito em Especificando o coinstalador KMDF em um arquivo INF.
Se você precisar instalar um aplicativo além do driver, você deve, em vez disso, redistribuir o pacote MSU relevante (por exemplo, kmdf-1.11-Win.6.0.msu) junto com um aplicativo de instalação que o chama. Neste caso, não são necessárias entradas INF.
Você nunca precisa do coinstalador 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, o MSU e coinstaladores 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 (coinstaladores para KMDF 1.7/1.9/1.11).
- WUDFUpdate_01007.dll, WUDFUpdate_01009.dll, WUDFUpdate_01011.dll (coinstaladores para UMDF).
- winusbcoinstaller.dll, winusbcoinstaller2.dll (coinstaladores para WinUSB 1.5/1.9).
Nomenclatura e controle de versão do coinstalador
O coinstalador é nomeado WdfCoInstallerMMmmm.dll.
- MM é o número da versão principal.
- mmm é o número da menor versão.
Por exemplo, o nome do arquivo para a versão 1.0 do coinstalador é WdfCoInstaller01000.dlle o nome do arquivo para a versão 1.11 é WdfCoInstaller01011.dll.
A versão do coinstalador que você inclui com seu pacote de driver deve corresponder à versão da biblioteca de estrutura que você usa para desenvolver seu driver.
Observe que o nome do arquivo da biblioteca de estrutura inclui apenas o número da versão principal. Para obter mais informações sobre nomes de arquivo de biblioteca, consulte Framework Library Versioning.