Partager via


Inscription d’un co-programme d’installation Device-Specific

Notes

Les fonctionnalités décrites dans cette section ne sont pas prises en charge dans les packages de pilotes universels ou mobiles. Consultez Utilisation d’un fichier INF universel.

Pour inscrire un co-programme d’installation spécifique à l’appareil, ajoutez les sections suivantes au fichier INF de l’appareil :

;  :
;  :
[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"

L’entrée de la section DestinationDirs spécifie que les fichiers répertoriés dans xxxCopyFilesSection seront copiés dans le répertoire système. Le préfixe Xxx doit être un identificateur unique pour le pilote, l’appareil ou un groupe d’appareils (par exemple, cdrom_CopyFilesSection).

La section suivante, dans l’exemple XxxInstall.OS-platform.CoInstallersci-dessus, est DDInstall. Section CoInstallers . Le nom de cette section peut avoir une extension de système d’exploitation/d’architecture facultative (par exemple, cdrom_install.NTx86.CoInstallers). Il contient une directive CopyFiles qui spécifie une section de liste de fichiers appelée XxxCopyFilesSection, et une directive AddReg qui spécifie une section add-registry appelée Xxx.OS-platform.CoInstallers_AddReg.

L’entrée de la section add-registry crée une entrée de valeur CoInstallers32 dans la clé de pilote de l’appareil. L’entrée contient la DLL de co-programme d’installation et, éventuellement, un point d’entrée spécifique. Si vous omettez le point d’entrée, la valeur par défaut est CoDeviceInstall. Le paramètre hexadécimal flags (0x00010000) spécifie qu’il s’agit d’une entrée de valeur REG_MULTI_SZ .

Pour inscrire plusieurs co-programmes d’installation spécifiques à un appareil pour un appareil, copiez les fichiers de chaque co-programme d’installation et incluez plusieurs chaînes dans l’entrée de Registre. Par exemple, pour inscrire deux co-programmes d’installation, créez des sections INF comme suit :

;   :
;   :
[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

Les co-programmes d’installation spécifiques à l’appareil sont enregistrés pendant le processus d’installation d’un appareil, lorsque la section Inf Coinstallers est traitée. SetupAPI appelle ensuite les co-programmes d’installation à chaque étape suivante du processus d’installation. Si plusieurs co-programmes d’installation sont inscrits pour un appareil, SetupAPI les appelle dans l’ordre dans lequel ils sont répertoriés dans le Registre.