Registrando um co-instalador do Device-Specific
Observação
Os recursos descritos nesta seção não têm suporte em pacotes de driver universal ou móvel. Consulte Usando um arquivo INF universal.
Para registrar um co-instalador específico do dispositivo, adicione as seguintes seções ao arquivo INF do dispositivo:
; :
; :
[DestinationDirs]
XxxCopyFilesSection = 11 \\DIRID_SYSTEM
\\ Xxx = driver or dev. prefix
; :
; :
[XxxInstall.OS-platform.CoInstallers] \\ OS-platform is optional
CopyFiles = XxxCopyFilesSection
AddReg = Xxx.OS-platform.CoInstallers_AddReg
[XxxCopyFilesSection]
XxxCoInstall.dll
[Xxx.OS-platform.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"XxxCoInstall.dll, \
XxxCoInstallEntryPoint"
A entrada na seção DestinationDirs especifica que os arquivos listados no XxxCopyFilesSection serão copiados para o diretório do sistema.
O prefixo Xxx deve ser um identificador exclusivo para o driver, o dispositivo ou um grupo de dispositivos (por exemplo, cdrom_CopyFilesSection
).
A próxima seção, no exemplo XxxInstall.OS-platform.CoInstallers
acima, é a DDInstall. Seção CoInstallers .
O nome desta seção pode ter uma extensão opcional de sistema operacional/arquitetura (por exemplo, cdrom_install.NTx86.CoInstallers
).
Ele contém uma diretiva CopyFiles que especifica uma seção de lista de arquivos chamada XxxCopyFilesSection
e uma diretiva AddReg que especifica uma seção add-registry chamada Xxx.OS-platform.CoInstallers_AddReg
.
A entrada na seção add-registry cria uma entrada de valor CoInstallers32 na chave de driver do dispositivo. A entrada contém a DLL do co-instalador e, opcionalmente, um ponto de entrada específico. Se você omitir o ponto de entrada, o padrão será CoDeviceInstall. O parâmetro hexadecimal flags (0x00010000) especifica que essa é uma entrada de valor REG_MULTI_SZ .
Para registrar mais de um co-instalador específico do dispositivo para um dispositivo, copie os arquivos para cada co-instalador e inclua mais de uma cadeia de caracteres na entrada do Registro. Por exemplo, para registrar dois co-instaladores, crie seções INF como as seguintes:
; :
; :
[DestinationDirs]
XxxCopyFilesSection = 11 \\DIRID_SYSTEM
\\ Xxx = driver or dev. prefix
; :
; :
[XxxInstall.OS-platform.CoInstallers] \\ OS-platform is optional
CopyFiles = XxxCopyFilesSection
AddReg = Xxx.OS-platform.CoInstallers_AddReg
[XxxCopyFilesSection]
XxxCoInstall.dll \\ copy 1st coinst. file
YyyCoInstall.dll \\ copy 2nd coinst. file
[Xxx.OS-platform.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000, \
"XxxCoInstall.dll, XxxCoInstallEntryPoint", \
"YyyCoInstall.dll, YyyCoInstallEntryPoint"
\\ add both to registry
Os co-instaladores específicos do dispositivo são registrados durante o processo de instalação de um dispositivo, quando a seção INF do Coinstallers é processada. SetupAPI chama os co-instaladores em cada etapa subsequente do processo de instalação. Se mais de um co-instalador estiver registrado para um dispositivo, SetupAPI os chamará na ordem em que estão listados no Registro.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários