Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Средство преобразования реестра пакета драйверов (reg2inf.exe) преобразует раздел реестра и его значения или реализацию COM .dll подпрограммы DllRegisterServer в набор директив INF AddReg или раздела INF DDInstall.COM для серверов COM, работающих в процессе, для включения в INF-файл пакета драйвера. Это средство особенно полезно для преобразования существующих директив INF RegisterDlls в директивы INF AddReg или INF-DDInstall.COM разделов, чтобы сделать INF-файл универсальным. Дополнительные сведения об универсальных INF-файлах см. в разделе "Использование универсального INF-файла".
Начиная с Windows 10 версии 1709, средство поставляется в составе установки WDK 10. Его можно найти в подкаталоге \tools установки WDK 10, например C:\Program Files(x86)\Windows Kits\10\tools\.
Хотя Reg2inf пытается создать регистрацию COM, он может не записать полное состояние реестра, которое предоставляет регистрация COM. Как всегда, необходимо проверить выходные данные средства для полноты и правильности и проверить результаты.
Выполнение Reg2inf из командной строки
В этом разделе перечислены параметры командной строки для Reg2inf.
reg2inf.exe [/downlevel] [/key <path> | /dll <filename>] [/targetkey <path>]
/downlevelИгнорирует стиль синтаксиса DDInstall.COM и выводит выходные данные только с помощью директив AddReg. Этот параметр следует использовать только для разделов INF, предназначенных для версий ОС старше Windows 11 версии 24H2.
/key <registry key path>Обработать определенный раздел реестра, например: reg2inf /key HKEY_LOCAL_MACHINE\SOFTWARE\Fabrikam
/dll <module filename>Обработка модуля DLL COM, реализующего точку входа DllRegisterServer, обычно вызываемую regsvr32.exe или устаревшей директивой INF RegisterDlls, чтобы зарегистрировать класс COM в HKEY_CLASSES_ROOT, например reg2inf /dll %SystemRoot%\System32\fabkobj.dll
/targetkey <registry key path>Перенаправить целевой раздел реестра в другой базовый путь, например: reg2inf /key HKLM\SYSTEM\Temp /targetkey HKR\Parameters
Замечание
Reg2inf требует, чтобы длина полного пути не должна превышать 259 символов.
Регистрация COM-компонента в INF-файле
В следующем фрагменте кода показано, как зарегистрировать простой COM-класс с помощью синтаксиса INF DDInstall.COM, созданного Reg2inf без/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
В следующем фрагменте кода показано, как зарегистрировать простой COM-класс с помощью синтаксиса INF AddReg, созданного Reg2inf с параметром /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"