Reg2inf

Das INF-Registrierungskonvertierungstool (reg2inf.exe) des Treiberpakets konvertiert einen Registrierungsschlüssel und seine Werte oder eine COM-.dll die Implementierung einer DllRegisterServer-Routine in eine Reihe von INF-AddReg-Direktiven oder INF-DDInstall.COM-Abschnitt für in proc-COM-Server, um in eine INF-Datei des Treiberpakets einzuschließen. Dieses Tool eignet sich besonders zum Konvertieren vorhandener INF-RegisterDlls-Anweisungen in INF-AddReg-Anweisungen oder INF-DDInstall.COM Abschnitten, um eine INF-Datei universell zu machen. Weitere Informationen zu universellen INF-Dateien finden Sie unter Verwenden einer universellen INF-Datei.

Ab Windows 10, Version 1709, wird das Tool als Teil der WDK 10-Installation ausgeliefert. Sie finden sie im \tools Unterverzeichnis Ihrer WDK 10-Installation, beispielsweise C:\Program Files(x86)\Windows Kits\10\tools\.

Während Reg2INF-versucht, eine COM-Registrierung zu generieren, wird möglicherweise nicht der vollständige Registrierungsstatus erfasst, den die COM-Registrierung bereitstellt. Wie immer sollten Sie die Ausgabe des Tools auf Vollständigkeit und Richtigkeit prüfen und die Ergebnisse testen.

Ausführen von Reg2INF-über die Befehlszeile

In diesem Abschnitt werden die Befehlszeilenoptionen für Reg2INF-aufgeführt.

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

    Ignoriert den DDInstall.COM-Syntaxstil und druckt die Ausgabe nur über AddReg-Anweisungen. Diese Option sollte nur für INF-Abschnitte verwendet werden, die auf Betriebssystemversionen abzielen, die älter als Windows 11, Version 24H2 sind.

  • /key <registry key path>

    Verarbeiten eines bestimmten Registrierungsschlüssels, wie reg2INF-/key HKEY_LOCAL_MACHINE\SOFTWARE\Fabrikam

  • /dll <module filename>

    Verarbeiten eines COM-DLL-Moduls, das den DllRegisterServer-Eintragspunkt implementiert, der in der Regel von regsvr32.exe oder einer älteren INF-RegisterDlls-Anweisung aufgerufen wird, um eine COM-Klasse unter HKEY_CLASSES_ROOT zu registrieren, z. B.: reg2INF-/dll %SystemRoot%\System32\fabkobj.dll

  • /targetkey <registry key path>

    Neuzuordnung eines Zielregistrierungsschlüssels unter einem anderen Basisschlüsselpfad, z. B. reg2INF-/key HKLM\SYSTEM\Temp /targetkey HKR\Parameters

Hinweis

Reg2INF-erfordert, dass die vollständige Pfadlänge 259 Zeichen nicht überschreiten darf.

Registrieren einer COM-Komponente in einer INF-Datei

Der folgende Codeausschnitt zeigt, wie Sie eine einfache COM-Klasse mithilfe der INF-DDInstall.COM-Syntax registrieren, wie sie von Reg2INF-ohne den /downlevel-Parameter erzeugt wird:

[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

Der folgende Codeausschnitt zeigt, wie Sie eine einfache COM-Klasse mithilfe der INF-AddReg-Syntax registrieren, wie sie von Reg2inf mit dem /downlevel-Parameter erzeugt wird:

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