Partilhar via


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.CoInstallersacima, é 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 XxxCopyFilesSectione 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.