Reg2inf

L'outil de conversion de registre INF du package de pilotes (reg2inf.exe) convertit une clé de registre et ses valeurs ou un COM .dll implémentant une routine DllRegisterServer en un ensemble de directives INF AddReg ou section INF DDInstall.COM pour les serveurs COM in-proc à inclure dans un fichier INF de package de pilotes. Cet outil est particulièrement utile pour convertir les directives INF RegisterDlls existantes en directives INF AddReg ou en sections INF DDInstall.COM afin de rendre un fichier INF universel. Pour plus d'informations sur les fichiers INF universels, voir Utilisation d'un fichier INF universel.

À partir de la version 1709 de Windows 10, l'outil est livré dans le cadre de l'installation du WDK 10. Vous le trouverez dans le sous-répertoire \tools de votre installation du WDK 10, par exemple C:\Program Files(x86)\Windows Kits\10\tools\.

Bien que Reg2inf tente de générer un enregistrement COM, il peut ne pas capturer l'état complet du registre que l'enregistrement COM fournit. Comme toujours, vous devez vérifier que les données de sortie de l'outil sont complètes et correctes et tester les résultats.

Exécution de Reg2inf à partir de la ligne de commande

Cette section énumère les options de ligne de commande pour Reg2inf.

reg2inf.exe [/downlevel]  [/key <path> | /dll <filename>] [/targetkey <path>]
  • /downlevel

    Ignore le style de syntaxe de DDInstall.COM et imprime la sortie uniquement par le biais des directives AddReg. Cette option ne doit être utilisée que pour les sections INF qui ciblent des versions de système d'exploitation antérieures à Windows 11 version 24H2.

  • /key <registry key path>

    Traiter une clé de registre spécifique, par exemple : reg2inf /key HKEY_LOCAL_MACHINE\SOFTWARE\Fabrikam

  • /dll <module filename>

    Traiter un module DLL COM qui met en œuvre le point d'entrée DllRegisterServer, généralement appelé par regsvr32.exe ou une directive INF RegisterDlls héritée afin d'enregistrer une classe COM sous HKEY_CLASSES_ROOT, par exemple : reg2inf /dll %SystemRoot%\System32\fabkobj.dll

  • /targetkey <registry key path>

    Remapper la clé de registre cible pour qu'elle se trouve sous un chemin de clé de base différent, par exemple : reg2inf /key HKLM\SYSTEM\Temp /targetkey HKR\Parameters

Remarque

Reg2inf exige que la longueur totale du chemin d'accès ne dépasse pas 259 caractères.

Enregistrement d'un composant COM dans un fichier INF

L'extrait suivant montre comment enregistrer une classe COM simple en utilisant la syntaxe INF DDInstall.COM, telle qu'elle est produite par Reg2inf sans le paramètre /downlevel :

[SimpleCom.COM]
AddComServer = COM_Server,,SimpleCom_Install

[SimpleCom_Install]
ServerType = 1
ServerBinary = %13%\comobj.dll
AddComClass = Sample Class,{92FCF37F-F6C7-4F8A-AA09-1A14BA118084},,SimpleCom_Class_Install

[SimpleCom_Class_Install]
ThreadingModel = Both

L'extrait suivant montre comment enregistrer une classe COM simple en utilisant la syntaxe INF AddReg, telle qu'elle est produite par Reg2inf avec le paramètre /downlevel :

[ComClass_AddReg]
HKCR,CLSID\{92FCF37F-F6C7-4F8A-AA09-1A14BA118084},,,"Sample Class"
HKCR,CLSID\{92FCF37F-F6C7-4F8A-AA09-1A14BA118084}\InprocServer32,,%REG_EXPAND_SZ%,"%13%\comobj.dll"
HKCR,CLSID\{92FCF37F-F6C7-4F8A-AA09-1A14BA118084}\InprocServer32,ThreadingModel,,"Both"