Partilhar via


Reg2inf

A ferramenta de conversão de registo do pacote de drivers INF (reg2inf.exe) converte uma chave de registo e seus valores ou um COM .dll que implementa uma rotina DllRegisterServer em um conjunto de diretivas INF AddReg ou numa secção INF DDInstall.COM para servidores COM in-proc para inclusão num ficheiro INF do pacote de drivers. Esta ferramenta é particularmente útil para converter diretivas INF RegisterDlls existentes em diretivas INF AddReg ou seções de DDInstall.COM INF, a fim de tornar um arquivo INF universal. Para obter mais informações sobre arquivos INF universais, consulte Usando um arquivo INF universal.

A partir do Windows 10 versão 1709, a ferramenta é fornecida como parte da instalação do WDK 10. Você pode encontrá-lo no subdiretório da instalação do \tools WDK 10, por exemplo C:\Program Files(x86)\Windows Kits\10\tools\.

Embora o Reg2inf tente gerar um registro COM, ele pode não capturar o estado de registro completo que o registro COM fornece. Como sempre, você deve inspecionar a saída da ferramenta quanto à completude e correção e testar os resultados.

Executando Reg2inf a partir da linha de comando

Esta seção lista as opções de linha de comando para Reg2inf.

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

    Ignora a sintaxe do estilo DDInstall.COM e imprime a saída apenas através das diretivas AddReg. Esta opção deve ser usada apenas para seções INF destinadas a versões do sistema operacional anteriores ao Windows 11 versão 24H2.

  • /key <registry key path>

    Processar uma chave de registo específica, por exemplo: reg2inf /key HKEY_LOCAL_MACHINE\SOFTWARE\Fabrikam

  • /dll <module filename>

    Processar um módulo DLL COM que implementa o ponto de entrada DllRegisterServer, geralmente invocado por regsvr32.exe ou uma diretiva INF RegisterDlls herdada para registar uma classe COM em HKEY_CLASSES_ROOT, por exemplo: reg2inf /dll %SystemRoot%\System32\fabkobj.dll

  • /targetkey <registry key path>

    Remapeie a chave de registo de destino para estar sob um caminho de chave base alternativo, por exemplo: reg2inf /key HKLM\SYSTEM\Temp /targetkey HKR\Parameters

Observação

Reg2inf requer que o comprimento total do caminho não deve exceder 259 caracteres.

Registrando um componente COM em um arquivo INF

O trecho a seguir mostra como registrar uma classe COM simples usando a sintaxe INF DDInstall.COM, conforme produzido pelo Reg2inf sem o /downlevel parâmetro:

[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

O trecho a seguir mostra como registrar uma classe COM simples usando a sintaxe INF AddReg, conforme produzido pelo Reg2inf com o /downlevel parâmetro:

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