Reg2inf

A ferramenta de Conversão de Registro INF do Pacote de Driver (reg2inf.exe) converte uma chave do Registro e seus valores ou um COM .dll implementando uma rotina DllRegisterServer em um conjunto de diretivas AddReg inf para inclusão em um arquivo INF do pacote de driver. Essa ferramenta é particularmente útil para converter diretivas RegisterDlls inf existentes em diretivas InF AddReg para 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 \tools 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 quanto à integridade e à exatidão e testar os resultados.

Executando Reg2inf na linha de comando

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

USAGE: reg2inf.exe [/key <path> | /dll <filename>] [/targetkey <path>]

/key <registry key path>
    Process a specific registry key, e.g.: reg2inf /key HKEY_LOCAL_MACHINE\SOFTWARE\Fabrikam
/dll <module filename>
    Process a COM DLL module that implements DllRegisterServer entrypoint, typically called by regsvr32 or legacy INF RegisterDlls directive in order to register COM class under HKEY_CLASSES_ROOT, e.g.: reg2inf /dll %SystemRoot%\System32\fabkobj.dll
/targetkey <registry key path>
    Remap target registry key to be under a different base key path, e.g.: reg2inf /key HKLM\SYSTEM\Temp /targetkey HKR\Parameters

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

Registrando um componente COM em um arquivo INF

O snippet a seguir mostra como registrar uma classe COM simples usando a sintaxe INF AddReg, conforme produzido por Reg2inf:

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