Compartilhar via


Reg2inf

A ferramenta de conversão de registro INF do pacote de driver (reg2inf.exe) converte uma chave do Registro e seus valores, ou uma COM .dll que implementa uma rotina DllRegisterServer, em um conjunto de diretivas INF AddReg ou na seção INF DDInstall.COM para servidores COM in-proc, para inclusão em um arquivo INF do pacote de driver. Essa ferramenta é particularmente útil para converter diretivas INF RegisterDlls existentes em diretivas INF AddReg ou seções inf DDInstall.COM para tornar um arquivo INF universal. Para obter mais informações sobre arquivos INF universais, consulte Como usar 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 \tools subdiretório da instalação do 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 completo do registro que o registro COM fornece. Como sempre, você deve inspecionar a saída da ferramenta para fins de integridade e correção e testar os resultados.

Executando Reg2inf na 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 o estilo de sintaxe do DDInstall.COM, imprimindo a saída apenas através de diretivas AddReg. Essa opção deve ser usada apenas para seções INF direcionadas a versões do sistema operacional anteriores ao Windows 11 versão 24H2.

  • /key <registry key path>

    Processar uma chave do Registro 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, normalmente chamado por regsvr32.exe ou uma diretiva INF RegisterDlls herdada para registrar uma classe COM em HKEY_CLASSES_ROOT, por exemplo: reg2inf /dll %SystemRoot%\System32\fabkobj.dll

  • /targetkey <registry key path>

    Remapear a chave de registro de destino para estar em um caminho de chave base diferente, por exemplo: reg2inf /key HKLM\SYSTEM\Temp /targetkey HKR\Parameters

Observação

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

Registrando um componente COM em um arquivo INF

O seguinte snippet 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 snippet 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"